1

MNIST 分類ネットワークをトレーニングした後、テスト データを「予測」したかったのですが、テスト入力の形状に関して次のエラーが発生しました。

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 を使用しています。

4

1 に答える 1

1

クイックアンサー: からfeed_dict = {x: [testimages]}に変更feed_dict = {'x': testimages}

あなたの入力でfeed_dictは、これは辞書です。それが大丈夫かどうかわからない。また、ラベルを付けた内部のエントリxの形式は[testimages]. したがってtestimages.shape = (28000, 784)、配列でそれをラップすると、それが作成され(1, 28000, 784)ます。

于 2016-04-30T18:08:13.350 に答える