TensorFlow:形状错误
TensorFlow: Shape error
训练完我的 MNIST 分类网络后,我想 "predict" 测试数据并得到以下关于测试输入形状的错误
testimages = np.array(test)
print(testimages.shape)
> (28000, 784)
feed_dict = {x: [testimages]}
classification = sess.run(y, feed_dict)
ValueError: 无法为具有形状 (Dimension(None), Dimension(784)) 的 Tensor u'Placeholder_2:0' 提供形状 (1, 28000, 784) 的值
那么为什么形状是 (28000, 784)(它应该是)但是当输入到经过训练的网络时,它显示为 (1, 28000, 784)?
顺便说一下,为了训练我通过
包含了训练数据
trainlabels = np.array(train["label"])
trainimages = np.array(train.iloc[:, 1:])
因为训练数据的第一列说明了标签。我正在使用 Pandas 进行导入。
快速回答:从 feed_dict = {x: [testimages]}
更改为 feed_dict = {'x': testimages}
在您的输入中,您传递了 feed_dict
,这是一个字典。不确定是否可以。此外,您标记为 x
的条目的格式为 [testimages]
。因此,如果 testimages.shape = (28000, 784)
,用数组将其包裹起来会使它成为 (1, 28000, 784)
.
训练完我的 MNIST 分类网络后,我想 "predict" 测试数据并得到以下关于测试输入形状的错误
testimages = np.array(test)
print(testimages.shape)
> (28000, 784)
feed_dict = {x: [testimages]}
classification = sess.run(y, feed_dict)
ValueError: 无法为具有形状 (Dimension(None), Dimension(784)) 的 Tensor u'Placeholder_2:0' 提供形状 (1, 28000, 784) 的值
那么为什么形状是 (28000, 784)(它应该是)但是当输入到经过训练的网络时,它显示为 (1, 28000, 784)?
顺便说一下,为了训练我通过
包含了训练数据trainlabels = np.array(train["label"])
trainimages = np.array(train.iloc[:, 1:])
因为训练数据的第一列说明了标签。我正在使用 Pandas 进行导入。
快速回答:从 feed_dict = {x: [testimages]}
更改为 feed_dict = {'x': testimages}
在您的输入中,您传递了 feed_dict
,这是一个字典。不确定是否可以。此外,您标记为 x
的条目的格式为 [testimages]
。因此,如果 testimages.shape = (28000, 784)
,用数组将其包裹起来会使它成为 (1, 28000, 784)
.