回答編集履歴

2

一部修正

2021/02/20 11:26

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- `predictions = model.predict([im])`
13
+ `predictions = model.predict(im.reshape(-1, 150, 150, 3))`
14
14
 
15
15
 
16
16
 

1

補足追記

2021/02/20 11:26

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -6,8 +6,18 @@
6
6
 
7
7
 
8
8
 
9
- よって、1枚だけの画像の配列として、以下のように書き換えればpredictは通ものと思います。
9
+ そのため、1枚だけの画像の配列として、以下のように書き換える必要があります。
10
10
 
11
11
 
12
12
 
13
13
  `predictions = model.predict([im])`
14
+
15
+
16
+
17
+ ただし、これだけだと新たなエラーが出るでしょう。
18
+
19
+ 質問者様のモデルでは画像を150×150に圧縮していますので、入力としては(None, 150, 150, 3)を期待しています。よって、画像サイズの違いにより、新たなエラーが出ると思います。そのため、画像を圧縮する必要があります。PILの機能で圧縮してもよいですし、`flow_from_directory`を使って推論用のデータのジェネレータを作る方法もあります。
20
+
21
+
22
+
23
+ 参考: [Python, Pillowで画像を一括リサイズ(拡大・縮小)](https://note.nkmk.me/python-pillow-image-resize/)