我是一个紧张的人。我已经从deeppose的开源实现中训练了一个TensorFlow模型,现在必须对一组新的图像运行该模型。
模型是在大小为100 * 100
的图像上训练的,因此我将新的图像集调整为相同大小。我有149
个新的映像来运行模型。当我运行模型时,我得到以下错误。
InvalidArgumentError (see above for traceback): Assign requires shapes
of both tensors to match. lhs shape= [20] rhs shape= [48]
排队
saver = tf.train.Saver(tf.all_variables())
我怀疑训练的模型大小和测试图像大小不匹配。我不清楚如何解决这个问题。我从tf.all_variables()
调用中打印出变量列表。在这儿
Tensor("Placeholder:0", shape=(128, 100, 100, 3), dtype=float32)
(11, 11, 3, 20)
conv1/weights:0
(20,)
conv1/biases:0
(5, 5, 20, 35)
conv2/weights:0
(35,)
conv2/biases:0
(3, 3, 35, 50)
conv4/weights:0
(50,)
conv4/biases:0
(3, 3, 50, 75)
conv5/weights:0
(75,)
conv5/biases:0
(300, 1024)
local1/weights:0
(1024,)
local1/biases:0
(1024, 1024)
local2/weights:0
(1024,)
local2/biases:0
(1024, 0)
softmax_linear/weights:0
(0,)
softmax_linear/biases:0
我不确定RHS参数是从哪里来的。我查看了所有配置文件,似乎没有任何参数指定此配置。
任何帮助解决这一问题的人将不胜感激。
尝试删除以前运行中保存的所有检查点。有时当改变架构并再次运行时,TF会从旧的检查点(但是有了新的定义)中获取信息,您会得到这个错误。
我也遇到了这个问题,问题是标签和类号不匹配,所以我更改并修复了所有的类号和标签。
在我的例子中,是在faster_rcnn.config中更改“num_classes”参数 以及“label_map.pbtxt”文件以匹配实际值。
所以碰巧,我更新了TensorFlow代码,但没能训练它。因此,我回滚到以前的版本,对运行脚本进行了适当的新更改并使其正常工作。
相关问题 更多 >
编程相关推荐