TensorFlow 2冻结模型注意事项
冻结模型报错,可能是这个原因。
今天在尝试冻结一个TensorFlow模型时遇到错误:
ValueError: Input 0 of node embedding_model/resnet50v2/conv2_block1_preact_bn/AssignNewValue/AssignVariableOp was passed float from embedding_model/resnet50v2/conv2_block1_preact_bn/FusedBatchNormV3/ReadVariableOp/resource:0 incompatible with expected resource.冻结模型的代码来自这里:
Save, Load and Inference From TensorFlow 2.x Frozen Graph
Hello Underworld.

模型本身是基于TensorFlow的 keras.app,所以模型出问题的可能性很小。多番尝试之后终于找到了问题所在。
keras模型可以自动判断训练与推演状态。但是我在模型推演命令中强制假如了 training=True 选项。导致冻结模型时,模型处于训练状态。
解决方案也很简单,将 training=False 即可。当然,你也可以在一开始就避免手动设置 training 参数。
有AI相关的想法,但不知道怎么落地?
我是国冰,独立AI开发者。十多年技术一线——半导体显示、智慧城市到自动驾驶;现在一个人+AI,接AI落地项目,从梳理需求到系统落地,陪你走通。
微信聊聊
看我能做什么
看我能做什么
评论 ()