retinaface-keras
retinaface-keras copied to clipboard
修改 UpsampleLike
我在部署模型的过程中,由于平台不支持自定义的层,所以把您自定义的 **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)
为了满足不同输入图片的需求,当输入不为32倍数时使用upsample2d会导致不匹配,已更新letterbox_image代码,可固定为32倍数
为了满足不同输入图片的需求,当输入不为32倍数时使用upsample2d会导致不匹配,已更新letterbox_image代码,可固定为32倍数
感谢您的答复,我把predict中图片处理时都更改为固定尺寸
嗯