Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P.281: スクリプト inspect_camera_pi.py がエラーで終了します #16

Closed
renkin3q opened this issue Jan 4, 2021 · 3 comments
Closed
Assignees
Labels
question Further information is requested

Comments

@renkin3q
Copy link

renkin3q commented Jan 4, 2021

ページ数

P.281 のテキストボックス

内容

スクリプト inspect_camera_pi.py がエラーで終了してしまいます。
手順に変わりはないか、ご確認頂けないでしょうか。

私の環境:

  • Raspberry Pi 3 B+
  • Raspberry Pi OS 10 (buster)

実行時のログ:

$ python3 inspect_camera_pi.py -l="labels.txt" -m="my_model_aug.h5"
2021-01-04 17:49:17.193270: E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory
['choki', 'gu', 'pa']
Traceback (most recent call last):
  File "inspect_camera_pi.py", line 30, in <module>
    model_pred = tf.keras.models.load_model(args.model)
  File "/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/keras/saving/save.py", line 146, in load_model
    return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
  File "/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/keras/saving/hdf5_format.py", line 166, in load_model_from_hdf5
    model_config = json.loads(model_config.decode('utf-8'))
AttributeError: 'str' object has no attribute 'decode'

コメント

@renkin3q renkin3q added the question Further information is requested label Jan 4, 2021
@karaage0703
Copy link
Owner

karaage0703 commented Jan 5, 2021

@renkin3q さん
報告ありがとうございます。
まだ実機で確認できていませんが、エラーメッセージで検索したところ、バージョンの不一致によるエラーの可能性が高そうです。
また、こちらで実機で確認して、インストールスクリプトのアップデートを行う予定です。
取り急ぎの回答となりますが、ラズパイ側で以下のコマンドを実行することで動くようになるかもしれません。

$ sudo pip3 uninstall h5py
$ sudo pip3 install h5py==2.10.0

書籍にも記載した通り、ディープラーニング関係のライブラリは、バージョン変更が激しく、簡単な例でもこのようなバージョンの差異によるエラーが起こり得ます。書籍執筆時点では動いていたものが動かなくなるケースがあることご容赦ください。

その分、情報もネットに多くあります。もし今後、書籍の応用以外のことをやろうとして困ったときなどはエラーメッセージで検索すると、情報でてくることが多いです。

今回もAttributeError: 'str' object has no attribute 'decode'で検索したら以下の記事が出てきました。

【Keras】エラー 'str' object has no attribute 'decode'について

@renkin3q
Copy link
Author

renkin3q commented Jan 5, 2021

@karaage0703 さん
ご回答ありがとうございます。
ご案内頂いたコマンドを実行したところ、スクリプトが動作するようになりました。

検索できる事で、お手間取らせてしまい申し訳ありません。
お恥ずかしながら、1行目のエラーばかり調べておりました。

問題が解決しましたので、本件クローズさせて頂きます。

@renkin3q renkin3q closed this as completed Jan 5, 2021
@karaage0703
Copy link
Owner

@renkin3q さん
他の読者の方も困っていたかもしれないので、教えていただき感謝しております。
バージョンはまた変わりそうなので、サポートサイトのよくある質問に本内容を追記させていただきたいと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants