2017-08-07 12 views
1

似たような質問のある投稿がありますが、答えのどれも私を助けてくれません。私はこのCNNの世界に新しいです。ケラスはCNNで動作するように入力画像を整えます

私は、Keranoを使ってCNNをトレーニングするためのチュートリアルに続いて、THEANをMNISTデータセットでBackEndとして使用しました。今私は自分自身のjpgイメージをCNNに渡したいと思っていますが、私はそれを再形成する方法を知らない。私を助けてくれますか?私はこれでスーパーです。

はこれまでのところ、私は

image = np.expand_dims(image, axis=0) image = preprocess_input(image) 

の形を変えるが、予測すると、次のエラーを取得するには、これを試してみました:

ValueError: Error when checking : expected conv2d_1_input to have shape (None, 1, 28, 28) but got array with shape (1, 3, 28, 28) 

をあなたが見ることができるように、私のCNNは、幅= 28、高さ= 28を使用し、深さ= 1。

+0

こんにちは、あなたはこれに対する答えを見つけることができましたか?私もケラス28,28,1モデルにフィットするように、自分のイメージを整えてサイズを変更しました。 28,28,1に収まるように、さまざまなサイズのすべての画像を取得するにはどうすればよいですか?私は、未処理の画像を送り込むときに以下のエラーが表示されます。ValueError:サイズ21600の配列をシェイプ(28,28,1)に再形成できません。 – emeralddove

答えて

0

形を変えるためにナンシーを使用してみてください。あなたは2D-畳み込みモデルを使用している、ので:

image = np.reshape(image, (28, 1, 28, 1)) 
0

エラーメッセージは、ネットワークが、画像の形状が1 * 28 * 28である見込ん示していますが、あなたの入力は3 * 28 * 28です。あなたが入力した画像はカラー画像、3チャンネル(RGB)、ネットワークはグレーの画像、1チャンネルを期待しています。

画像を読むためにopencvを呼び出すときは、以下のコードを使用してください。 img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)

関連する問題