一.参数模型不匹配。
在载入resnet预训练模型的时候,出现了以下报错提醒,查了一下原因发现是由于自己构建的模型与载入的模型参数不一致导致的。
[[Node: save/Assign_265 = Assign[T=DT_FLOAT, _class=["loc:@resnet_v2_50/conv1/weights"],
use_locking=true,validate_shape=true,_device="/job:localhost/replica:0/task:0/device:CPU:0" ]
(resnet_v2_50/conv1/weights, save/RestoreV2_265)]]
C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\framework\op_kernel.cc:1192]
Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [7,7,1,64] rhs shape= [7,7,3,64]
解决方案:后来改变了自己构建模型的参数设置,便可以正常导入预训练模型参数了。
二.feed的shape不匹配
以下报错说明输入的图像的 shape 和 模型构建的时候定义的 shape 不一致,所以出现了报错。
ValueError: Cannot feed value of shape (224, 224) for Tensor 'input_image:0', which has shape '(1, 224, 224, 3)'
解决方案:将输入图像 input 的shape 进行修改。
根据不同情况,可以有:
resize_image = tf.reshape(image, [-1, 224, 224, 3])
resize_image = np.reshape(image,[-1,224,224,3])