質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

216閲覧

畳み込みニューラルネットワークの画像の前処理について

退会済みユーザー

退会済みユーザー

総合スコア0

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/03/27 11:09

編集2019/03/27 11:42

前提・実現したいこと

自前の画像を作成したCNNモデルで判定したい

ここに質問の内容を詳しく書いてください。
kerasを使いmnistを学習させたたモデルを作ったのですが自分で用意した画像を判定しようとしてもうまくいきません
作成したモデルのinput_shapeは(28, 28, 1)です

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

Python

1# from PIL import Image 2 import numpy as np 3 from keras.models import load_model 4 5 image = Image.open("test.png") 6 7 image = np.array(image) 8 9 print(image.shape) 10 im_gray = 0.299 * image[:, :, 0] + 0.587 * image[:, :, 1] + 0.114 * image[:, :, 2] 11 12 image = Image.fromarray(np.uint8(im_gray)) 13 14 image = np.array(image) 15 print(image.shape) 16 image = image.reshape(28, 28, 1) 17 18 image =image.astype("float32") / 255 19 20 model = load_model("model.h5") 21 result = model.predict(image) 22 print(result)

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2019/03/27 11:11

> うまくいきません どううまくいかないのでしょうか?
_Victorique__

2019/03/27 11:34

コードはマークダウンに当てはめてください ```Python # code ```
退会済みユーザー

退会済みユーザー

2019/03/27 11:47

指摘ありがとうございます。 直しました
退会済みユーザー

退会済みユーザー

2019/03/27 11:48

具体的に説明するとモデルの入力は(28, 28, 1)という形状にしたのですが 自分で書いた画像はmnistと形状が異なり(28, 28, 4)という形でした これを何とかして(28, 28, 1)に直したのですが result = model.predict(image) でエラーが出てうまく推論できていない という状況です
_Victorique__

2019/03/27 11:51 編集

エラーの内容を載せましょう この質問だけみてエラーの内容を推測するのは辛いです。
退会済みユーザー

退会済みユーザー

2019/03/27 11:56

ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (28, 28, 1) です
guest

回答1

0

ベストアンサー

python

1(1, 28, 28, 1) 2(画像数, H, W, c)

このエラーは入力に4次元必要なのに3次元しかないですよというエラーです。
単に一枚予測させたい時は以下のようにしてください。

python

1img = # (28, 28, 1) 2input_imgs = np.array([img]) 3 4input_imgs.shape # (1, 28, 28, 1)

投稿2019/03/27 12:18

_Victorique__

総合スコア1392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/03/27 15:36

解決できました! ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問