retinaface-keras icon indicating copy to clipboard operation
retinaface-keras copied to clipboard

修改 UpsampleLike

Open chimeiw opened this issue 4 years ago • 3 comments

我在部署模型的过程中,由于平台不支持自定义的层,所以把您自定义的 **UpsampleLike直接修改为UpSampling2D,最中训练的结构也满足要求,但是在运行predict.py的过程中,随机输入一张图片,在Add节点就会出现shape不匹配的问题,在剪枝过程中也会因为shape不同,出错,这里得请教您下为什么不使用UpSampling2D,使用这个如何适用于不同的输入,请指教,感谢!

P3 = Conv2D_BN_Leaky(cfg['out_channel'], kernel_size=1, strides=1, padding='same', name='C3_reduced', leaky=leaky)(C3)

P4 = Conv2D_BN_Leaky(cfg['out_channel'], kernel_size=1, strides=1, padding='same', name='C4_reduced', leaky=leaky)(C4)

P5 = Conv2D_BN_Leaky(cfg['out_channel'], kernel_size=1, strides=1, padding='same', name='C5_reduced', leaky=leaky)(C5)

P5_upsampled = UpSampling2D(2)(P5)//修改

P4 = Add(name='P4_merged')([P5_upsampled, P4])

P4 = Conv2D_BN_Leaky(cfg['out_channel'], kernel_size=3, strides=1, padding='same', name='Conv_P4_merged', leaky=leaky)(P4)

P4_upsampled = UpSampling2D(2)(P4)//修改

P3 = Add(name='P3_merged')([P4_upsampled, P3])

P3 = Conv2D_BN_Leaky(cfg['out_channel'], kernel_size=3, strides=1, padding='same', name='Conv_P3_merged', leaky=leaky)(P3)

chimeiw avatar Feb 08 '21 02:02 chimeiw

为了满足不同输入图片的需求,当输入不为32倍数时使用upsample2d会导致不匹配,已更新letterbox_image代码,可固定为32倍数

bubbliiiing avatar Feb 11 '21 12:02 bubbliiiing

为了满足不同输入图片的需求,当输入不为32倍数时使用upsample2d会导致不匹配,已更新letterbox_image代码,可固定为32倍数

感谢您的答复,我把predict中图片处理时都更改为固定尺寸

chimeiw avatar Feb 14 '21 09:02 chimeiw

bubbliiiing avatar Feb 20 '21 05:02 bubbliiiing