web-dev-qa-db-ja.com

自分のデータを使用したTensorflowエラー

Tensorflowライブラリを使ってチュートリアルを遊んでいます。今、自分のデータで遊びたかったのですが、ひどく失敗しました。これはおそらくnoobの質問ですが、理解できません。

私はこの例を使用しています: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3%20-%20Neural%20Networks/convolutional_network.py

私は自分の画像を使用したいのですが、テンソルフローで使用するために画像を変換するために、これを使用しています: https://github.com/HamedMP/ImageFlow/blob/master/ImageFlow.py

ここで、例のパラメーターを次のように変更します。

 n_input = 784
 n_classes = 10

これに:

 n_input = 9216
 n_classes = 2

私の画像は96 * 96であり、私の画像のクラスは2つしかないため、

また、重みとバイアスを必要な数に変更します。

私はこのようなデータを読みました:

batch_xs = imgReader.read_images(pathname);

imageFlowファイルであるimgReader

しかし、実行しようとするとエラーが発生します。

 ValueError: Cannot feed value of shape (104, 96, 96, 1) for Tensor
 u'Placeholder:0', which has shape (Dimension(None), Dimension(9216))

小さいものを見落としているような気がしますが、見えません。

12

このエラーは、フィードしようとしているデータの形状(104 x 96 x 96 x 1)が入力プレースホルダーの形状と一致しないために発生します(_batch_size_ x 9216、_batch_size_は可変である)。

これを機能させるには、トレーニングステップを実行する前に次の行を追加します。

_batch_xs = np.reshape(batch_xs, (-1, 9216))
_

これは、numpyを使用して、読み込まれた画像(_batch_size_ x h x w xチャネルの4次元配列)を、プレースホルダーが期待する_batch_size_ x 9216要素マトリックスに再形成します。

17
mrry

この問題は、pipを使用してtensorflowをアップグレードすることで解決しました。

0
bobo32