训练时在deformable conv报错
Created by: LordAaron
paddle官方api文档里面写了deformable conv的两种用法,一种可以用mask,一种可以不用mask;但是我将mask设置为None会报错:
代码:
offset = fluid.layers.conv2d(input=wh_pred,
num_filters=29n_anchors, groups=n_anchors,
filter_size=1, stride=1, padding=0)
offset.stop_gradient = True
out = fluid.layers.deformable_conv(input=input,
offset=offset, mask=None, num_filters=out_ch, filter_size=3, stride=1,
padding=1, deformable_groups=n_anchors)
如果使用mask 代码: offset_mask = fluid.layers.conv2d(input=wh_pred, num_filters=39n_anchors, groups=n_anchors, filter_size=1, stride=1, padding=0) offset_mask.stop_gradient = True
offset_channel = 9n_anchors * 2 mask_channel = 9n_anchors
offset, mask = fluid.layers.split( input=offset_mask, num_or_sections=[offset_channel, mask_channel], dim=1) mask = fluid.layers.sigmoid(mask)
out = fluid.layers.deformable_conv(input=input,
offset=offset, mask=mask, num_filters=out_ch, filter_size=3, stride=1,
padding=1, deformable_groups=n_anchors)
在训练时,就会报下面的错误: