下記のサイトを見ながら画像認識を試しています。
https://qiita.com/PonDad/items/c5419c164b4f2efee368
学習済みモデルh5とjsonをダウンロードして同じ階層に置き、inception_v3のh5のリンク先をローカルに書き換えました。
WEIGHTS_PATH = 'inception_v3_weights_tf_dim_ordering_tf_kernels.h5'
WEIGHTS_PATH_NO_TOP = 'inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5'
サイトにはラズパイでも1,2秒で認識すると記載されていますが実際には1,2分かかってしまいます。
どこがいけないのでしょうか?よろしくお願いします。
h5py 2.7.1
keras 2.1.2
tensorflow 1.4.1
opencv 3.4.1
python 3.5.3
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2018/04/05 00:31

回答1件
0
ベストアンサー
banbanさん、
実際には1,2分かかってしまいます。
これは、Inception_v3.py を実行してから、認識するまで、を言ってるですよね?
中の時間を計測すると、モデルの読み込みに時間がかかっているようです。
こちらの環境では、main実行まで(importなど)数秒かかり、modelの読み込み(time1)に180秒、time5(認識)は初回が7.4秒、それ以降は、2.2秒程度でした。
- コード例
import time . . . if __name__ == '__main__': print("time 1 : start") start = time.time() model = InceptionV3(include_top=True, weights='imagenet') end = time.time() print("time 1 : {0}".format(end - start)) for iterator in range(0, 2): print("time 2a : start") start = time.time() img_path = 'elephant.jpg' img = image.load_img(img_path, target_size=(299, 299)) end = time.time() print("time 2a : {0}".format(end - start)) print("time 3a : start") start = time.time() x = image.img_to_array(img) x = np.expand_dims(x, axis=0) end = time.time() print("time 3a : {0}".format(end - start)) print("time 4a : start") start = time.time() x = preprocess_input(x) end = time.time() print("time 4a : {0}".format(end - start)) print("time 5a : start") start = time.time() preds = model.predict(x) end = time.time() print("time 5a : {0}".format(end - start)) print('Predicted:', decode_predictions(preds)) . . .
- 環境
>>> sys.version_info sys.version_info(major=3, minor=5, micro=3, releaselevel='final', serial=0) >>> numpy.__version__ '1.14.2' >>> cv2.__version__ '3.4.1' >>> tensorflow.__version__ '1.7.0' >>> keras.__version__ '2.1.5' >>> h5py.__version__ '2.7.1'
- 実行例(3つの画像を使用。2回計測)
pi@raspberrypi:~/deep-learning-models $ time python3 inception_v3-mod.py /usr/local/lib/python3.5/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters Using TensorFlow backend. time 1 : start time 1 : 180.10169005393982 time 2a : start time 2a : 1.216275691986084 time 3a : start time 3a : 0.0029439926147460938 time 4a : start time 4a : 0.006985664367675781 time 5a : start time 5a : 7.432719707489014 Predicted: [[('n02504458', 'African_elephant', 0.58458394), ('n01871265', 'tusker', 0.35385633), ('n02504013', 'Indian_elephant', 0.01978549), ('n02134084', 'ice_bear', 0.0005529598), ('n02437312', 'Arabian_camel', 0.00053362496)]] time 2b : start time 2b : 0.017755985260009766 time 3b : start time 3b : 0.002666473388671875 time 4b : start time 4b : 0.0068395137786865234 time 5b : start time 5b : 2.1992945671081543 Predicted: [[('n07742313', 'Granny_Smith', 0.83817315), ('n07747607', 'orange', 0.019701822), ('n07768694', 'pomegranate', 0.0032308628), ('n07753592', 'banana', 0.002971005), ('n03804744', 'nail', 0.0017091646)]] time 2c : start time 2c : 0.00748896598815918 time 3c : start time 3c : 0.002615690231323242 time 4c : start time 4c : 0.006865739822387695 time 5c : start time 5c : 2.200554609298706 Predicted: [[('n07920052', 'espresso', 0.4395446), ('n07930864', 'cup', 0.24479486), ('n03063599', 'coffee_mug', 0.08118124), ('n03297495', 'espresso_maker', 0.007292483), ('n03063689', 'coffeepot', 0.0063423538)]] time 2a : start time 2a : 1.1786425113677979 time 3a : start time 3a : 0.002651691436767578 time 4a : start time 4a : 0.006893634796142578 time 5a : start time 5a : 2.19692325592041 Predicted: [[('n02504458', 'African_elephant', 0.58458394), ('n01871265', 'tusker', 0.35385633), ('n02504013', 'Indian_elephant', 0.01978549), ('n02134084', 'ice_bear', 0.0005529598), ('n02437312', 'Arabian_camel', 0.00053362496)]] time 2b : start time 2b : 0.018367528915405273 time 3b : start time 3b : 0.002653837203979492 time 4b : start time 4b : 0.007094621658325195 time 5b : start time 5b : 2.1861379146575928 Predicted: [[('n07742313', 'Granny_Smith', 0.83817315), ('n07747607', 'orange', 0.019701822), ('n07768694', 'pomegranate', 0.0032308628), ('n07753592', 'banana', 0.002971005), ('n03804744', 'nail', 0.0017091646)]] time 2c : start time 2c : 0.00771021842956543 time 3c : start time 3c : 0.0028247833251953125 time 4c : start time 4c : 0.007145404815673828 time 5c : start time 5c : 2.200134038925171 Predicted: [[('n07920052', 'espresso', 0.4395446), ('n07930864', 'cup', 0.24479486), ('n03063599', 'coffee_mug', 0.08118124), ('n03297495', 'espresso_maker', 0.007292483), ('n03063689', 'coffeepot', 0.0063423538)]] real 3m37.508s user 4m10.058s sys 0m4.162s
投稿2018/04/05 21:17
編集2018/04/05 21:20総合スコア1825
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2018/04/06 12:44 編集
2018/04/07 02:15
2018/04/08 04:59

退会済みユーザー
2018/04/12 12:17

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。