2
我试图将一维数组转换为TF矩阵,用于卷积网络,类似于它在TF深层MNIST示例中的做法通过使用tf.reshape()
:尝试将向量转换为矩阵后tf.reshape()出错
X = tf.placeholder(tf.float32, [None, 480])
X = tf.reshape(X, shape=[-1, 60, 8, 1])
我收到以下错误:
ValueError: Cannot feed value of shape (5, 480) for Tensor 'Reshape_1:0', which has shape '(?, 60, 8, 1)'
5是我batch_size
和480是原始数组的长度。我想将它转换为60x8张量,加上1个输出通道,所以我使用TF MNIST示例使用目标形状[-1, 60, 8, 1]
。
- 任何想法,为什么我得到这个?看起来像在MNIST示例中,他们使用-1来将单行调整为AxA矩阵并为输出通道添加一个额外维度?
- 我甚至可以使用这种非方矩阵,还是会给我一个错误的道路?我试着做类似400 = 20x20的东西,以及只是为了查看错误是否是由不均匀的形状造成的,但仍然出现错误...
谢谢,这是做到了。我保持这种方式,因为TF的例子有这种方式,但现在你提到它,可能它在那里工作,因为X重塑是在一个函数中定义的,将预重塑的X作为变量传递给它,所以也许这就是为什么TF允许它在那里......谢谢! –
重要的是不要将python变量与tensorflow变量混淆。 python变量只是指向tensorflow的指针。 – Aaron