I try to replace all the conv2D with ModulatedDeformConvPack, but encounter this problem.Could you provide some advices, which parameters maybe influence?
This's the log:
DCN_FastPose_SE(
(preact): DCN_SEResnet(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(3, 294, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3))
)
(bn1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace)
(maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
(layer1): Sequential(
(0): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(se): SELayer(
(fc): Sequential(
(0): Linear(in_features=128, out_features=128, bias=True)
(1): ReLU(inplace)
(2): Linear(in_features=128, out_features=128, bias=True)
(3): Sigmoid()
)
)
(downsample): Sequential(
(0): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 6, kernel_size=(1, 1), stride=(1, 1))
)
(1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(1): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(2): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(32, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(layer2): Sequential(
(0): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))
)
(bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(se): SELayer(
(fc): Sequential(
(0): Linear(in_features=256, out_features=256, bias=True)
(1): ReLU(inplace)
(2): Linear(in_features=256, out_features=256, bias=True)
(3): Sigmoid()
)
)
(downsample): Sequential(
(0): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(2, 2))
)
(1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(1): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(2): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(3): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(layer3): Sequential(
(0): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))
)
(bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(se): SELayer(
(fc): Sequential(
(0): Linear(in_features=512, out_features=512, bias=True)
(1): ReLU(inplace)
(2): Linear(in_features=512, out_features=512, bias=True)
(3): Sigmoid()
)
)
(downsample): Sequential(
(0): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(2, 2))
)
(1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(1): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(2): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(3): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(4): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(5): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(layer4): Sequential(
(0): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 54, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))
)
(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(se): SELayer(
(fc): Sequential(
(0): Linear(in_features=1024, out_features=1024, bias=True)
(1): ReLU(inplace)
(2): Linear(in_features=1024, out_features=1024, bias=True)
(3): Sigmoid()
)
)
(downsample): Sequential(
(0): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(512, 6, kernel_size=(1, 1), stride=(2, 2))
)
(1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
(1): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(1024, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
(2): Bottleneck(
(conv1): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(1024, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv2): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(conv3): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 6, kernel_size=(1, 1), stride=(1, 1))
)
(bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(suffle1): PixelShuffle(upscale_factor=2)
(duc1): DCN_DUC(
(conv): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(256, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace)
(pixel_shuffle): PixelShuffle(upscale_factor=2)
)
(duc2): DCN_DUC(
(conv): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(128, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
(bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(relu): ReLU(inplace)
(pixel_shuffle): PixelShuffle(upscale_factor=2)
)
(conv_out): ModulatedDeformConvPack(
(conv_offset_mask): Conv2d(64, 54, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
Create new model
Traceback (most recent call last):
File "train.py", line 215, in
main()
File "train.py", line 142, in main
weight_decay=opt.weightDecay)
File "/usr/local/lib/python3.5/dist-packages/torch/optim/rmsprop.py", line 41, in init
super(RMSprop, self).init(params, defaults)
File "/usr/local/lib/python3.5/dist-packages/torch/optim/optimizer.py", line 43, in init
self.add_param_group(param_group)
File "/usr/local/lib/python3.5/dist-packages/torch/optim/optimizer.py", line 193, in add_param_group
raise ValueError("optimizing a parameter that doesn't require gradients")
ValueError: optimizing a parameter that doesn't require gradients