回答編集履歴
1
コード差し替え、説明追記
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
from keras.preprocessing import image
|
14
14
|
from PIL import Image
|
15
15
|
import numpy as np
|
16
|
-
|
16
|
+
import urllib.request as urllib
|
17
17
|
import time
|
18
18
|
|
19
19
|
# 手元の環境で実行させたい場合は下記2つも読み込んでください。
|
@@ -26,8 +26,9 @@
|
|
26
26
|
size: 予測した結果を何件まで表示させたいか(初期値5件)
|
27
27
|
"""
|
28
28
|
def predict(filename, size=5):
|
29
|
-
|
29
|
+
# 画像ファイルとして保存
|
30
|
+
filename = urllib.urlretrieve(filename, "sample.png")
|
30
|
-
img = image.load_img(filename, target_size=(224, 224)) # 画像を読み込み
|
31
|
+
img = image.load_img(filename[0], target_size=(224, 224)) # 画像を読み込み
|
31
32
|
x = image.img_to_array(img) # 画像ファイルを数値に変換
|
32
33
|
x = np.expand_dims(x, axis=0) # 次元を増やす
|
33
34
|
|
@@ -46,16 +47,16 @@
|
|
46
47
|
# VGG16を使用
|
47
48
|
model = VGG16(weights="imagenet")
|
48
49
|
|
50
|
+
# 犬の判定処理
|
49
|
-
filename = "eag
|
51
|
+
filename = "https://aiacademy.jp/dataset/dog1.jpg"
|
50
|
-
|
51
|
-
results = predict(filename)
|
52
|
+
results = predict(filename, 10)
|
52
53
|
for result in results:
|
53
54
|
print(result)
|
54
55
|
```
|
55
56
|
|
56
57
|
1回目の実行はモデルをダウンロードしたりいろいろやってるので、2回目の実行の時間です
|
57
|
-
[CPU] elapsed_time:0.617
|
58
|
+
[CPU] elapsed_time:0.7016515731811523[sec]
|
58
|
-
[GPU] elapsed_time:0.06
|
59
|
+
[GPU] elapsed_time:0.0678093433380127[sec]
|
59
|
-
何回か測定して平均したりはしてません
|
60
|
+
何回か測定して平均したりはしてませんので、あまり正確な見積もりでは無いですが、この場合はGPUの方が10倍くらい速くなりました
|
60
61
|
|
61
62
|
使うAIによっても当然結果は変わりますし、google colabで割り当てられたGPUの機種によっても変わると思いますので、あくまでも参考程度に
|