当我试图减去相同大小的张量时,Tensorflow抛出错误,并说它们的大小不同

2024-04-27 05:01:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用张量建立一个小东西 Here是代码的图片,这样您就可以看到调试器注释。你知道吗

如您所见,编译器声明encrypted2和encryted2的大小相同。 但我得到的错误是:

Traceback (most recent call last): File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site- packages\tensorflow\python\framework\tensor_shape.py", line 560, in merge_with new_dims.append(dim.merge_with(other[i])) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 135, in merge_with self.assert_is_compatible_with(other) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 108, in assert_is_compatible_with % (self, other)) ValueError: Dimensions 40 and 20 are not compatible

在处理上述异常时,发生了另一个异常:

Traceback (most recent call last): File "C:/Users/user-pc/PycharmProjects/untitled12/Conv2.py", line 275, in train_neural_network(x, img1, img2) File "C:/Users/user-pc/PycharmProjects/untitled12/Conv2.py", line 233, in train_neural_network optimizer1 = tf.train.AdamOptimizer(learning_rate=0.01).minimize(cost1) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\training\optimizer.py", line 315, in minimize grad_loss=grad_loss) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\training\optimizer.py", line 386, in compute_gradients colocate_gradients_with_ops=colocate_gradients_with_ops) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\ops\gradients_impl.py", line 580, in gradients in_grad.set_shape(t_in.get_shape()) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 413, in set_shape self._shape = self._shape.merge_with(shape) File "C:\Users\user-pc\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 564, in merge_with (self, other)) ValueError: Shapes (?, 40, 40, 1) and (?, 20, 20, 1) are not compatible

有什么想法吗?提前谢谢


Tags: inpyliblocalwithlinesiteusers
1条回答
网友
1楼 · 发布于 2024-04-27 05:01:51

编译时的模型形状毫无意义。实际形状取决于运行会话时传递的输入。你知道吗

假设卷积神经网络是一系列卷积/最大池(基本上没有完全连接的层),输出形状将取决于输入形状。有可能你给两个卷积神经网络调用输入了不同的输入形状,因此得到了不同形状的张量。你知道吗

相关问题 更多 >