解决办法:使用tf.compat.v1.image.resize_bilinear替换
这个bug之前在这里有人提到过,自己之前也遇到过,但是是用补救的方法解决的,这次是在准备训练EAST文本检测网络时又遇到了,记录一下解决过程。
关于EAST, github有tf1-keras低版本的已训练好的h5权重,为了能在win系统的tf2上快乐高效地训练,我按照keras2.3.1的resnet50层命名风格重建了EAST网络,这样在tf2(keras=2.4.0)上就能完美加载tf1的权重了。
在tf1中,EAST的一个resize_bilinear层是用的tf.image.resize或tf.image.resize_bilinear函数来做插值的,两个函数在使用中没有任何问题。而在tf2中,只提供了tf.image.resize函数,但网络加载权重后的预测结果有偏移:

将resize_bilinear层中的tf.image.resize替换为tf.compat.v1.image.resize_bilinear输出就正常了
诶,这次还好发现及时。。。

博客讲述了在迁移EAST文本检测网络到TensorFlow 2.x时遇到的问题,即使用tf.image.resize导致预测结果偏移。作者通过替换为tf.compat.v1.image.resize_bilinear解决了该问题,确保了网络预测的准确性。
2017

被折叠的 条评论
为什么被折叠?



