Dear @ChaiBapchya, thank you very much for your answers in previous communication. The model that takes a lot of time to start training when hybridizing it, can be found in the repository: https://github.com/feevos/ceecnet
from ceecnet.models.changedetection.mantis.mantis_dn import *
nfilters_init=32
depth=6
NClasses=2
norm_type='GroupNorm'
norm_groups=4
nheads_start=4
model='CEECNetV2'
upFuse=True
net = mantis_dn_cmtsk(nfilters_init=nfilters_init,NClasses=NClasses, depth=depth, norm_type=norm_type,norm_groups=norm_groups,nheads_start=nheads_start,model=model,upFuse=upFuse)
net.initialize()
depth:= 0, nfilters: 32, nheads::4, widths::1
depth:= 1, nfilters: 64, nheads::8, widths::1
depth:= 2, nfilters: 128, nheads::16, widths::1
depth:= 3, nfilters: 256, nheads::32, widths::1
depth:= 4, nfilters: 512, nheads::64, widths::1
depth:= 5, nfilters: 1024, nheads::128, widths::1
depth:= 6, nfilters: 512, nheads::128, widths::1
depth:= 7, nfilters: 256, nheads::64, widths::1
depth:= 8, nfilters: 128, nheads::32, widths::1
depth:= 9, nfilters: 64, nheads::16, widths::1
depth:= 10, nfilters: 32, nheads::8, widths::1
In [7]: from mxnet import nd
In [8]: xx = nd.random.uniform(shape=[3,3,256,256])
In [9]: outs = net(xx,xx)
In [10]: for out in outs:
...: print (out.shape)
...:
(3, 2, 256, 256)
(3, 2, 256, 256)
(3, 2, 256, 256)
if I hybridize this network with CUDA optimization, it takes ~ 1h to start training. And I think the size of it, does not justify the delay:
Thank you very much for your time,
Foivos
PS @Bumblebee269 I’ve replied in pm.