Tensorflow Assign要求两个张量的形状匹配.lhs shape = [20] rhs shape = [48]

Pra*_*ara 13 python deep-learning tensorflow

我是TensorFlow菜鸟.我已经从开源实现深度训练了TensorFlow模型,现在必须针对一组新图像运行模型.

该模型在大小的图像上进行了训练,100 * 100因此我将新的图像大小调整为相同的大小.我有149新的图像来运行模型.当我运行模型时,我收到以下错误.

InvalidArgumentError (see above for traceback): Assign requires shapes
of both tensors to match. lhs shape= [20] rhs shape= [48]
Run Code Online (Sandbox Code Playgroud)

在线

saver = tf.train.Saver(tf.all_variables())
Run Code Online (Sandbox Code Playgroud)

我怀疑训练有素的模型尺寸和测试图像尺寸不匹配.我不清楚如何解决这个问题.我从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
Run Code Online (Sandbox Code Playgroud)

我不确定RHS参数的来源.我查看了所有配置文件,似乎没有任何参数指定此配置.

任何帮助解决这个问题将不胜感激.

mau*_*ice 49

尝试删除先前运行中保存的任何检查点.有时在更改体系结构并再次运行时,TF将从旧检查点(但使用新定义)中获取,并且您会收到此错误.