80926

[code]

    python yolo_video.py --image
    
[/code]

これを実行するときに出たエラーはライブラリのバージョンが原因のようなのでkerasとtensorflowのバージョンを変えて試してみましたがうまくいきません。

yolov3公式のページにも適したバージョンについて書いていませんでした。

自分の環境はWindows10、anacondaでpython==3.8.11,tensorflow==2.5.0,keras==2.2.4です。

皆さんの実行できた時のバージョンを教えてもらえると嬉しいです。

追記  
keras-yolo-masterというものを使っていますが  
keras\backend\tensorflow_backend.pyからエラーがいくつか出ました  
その時のエラーの一部がこれです

[code]

    Traceback (most recent call last):
      File "yolo_video.py", line 73, in <module>
        detect_img(YOLO(**vars(FLAGS)))
      File "C:\Users\your\OneDrive\デスクトップ\keras-yolo3-master\yolo.py", line 44, in __init__
        self.sess = K.get_session()
      File "C:\Users\your\anaconda3\envs\yolo_you\lib\site-packages\keras\backend\tensorflow_backend.py", line 180, in get_session
        default_session = tf.get_default_session()
    AttributeError: module 'tensorflow' has no attribute 'get_default_session'
    
[/code]

これらは主にtf.get_default_session()をtf.compat.v1.get_default_session()に変えれば動作するのでtensorflow_backend.pyを

[code]

    tf_upgrade_v2 --infile in.py --outfile out.py
    
[/code]

のコードを使って変更しました  
しかしまだまだtensorflowかkerasのバージョンが違うから起きたのであろうエラーが発生します。例えば

[code]

    Traceback (most recent call last):
      File "C:\Users\your\OneDrive\デスクトップ\keras-yolo3-master\yolo.py", line 70, in generate
        self.yolo_model = load_model(model_path, compile=False)
      File "C:\Users\your\anaconda3\envs\yolo_you\lib\site-packages\keras\engine\saving.py", line 419, in load_model
        model = _deserialize_model(f, custom_objects, compile)
      File "C:\Users\your\anaconda3\envs\yolo_you\lib\site-packages\keras\engine\saving.py", line 224, in _deserialize_model
        model_config = json.loads(model_config.decode('utf-8'))
    AttributeError: 'str' object has no attribute 'decode'
    
[/code]

このエラーも解決法はわかりませんが  
一つ一つのエラーを潰していくよりtensorflowとkerasのバージョンを変えたほうがいいのではないかと思って質問しています。


CC BY-SA 4.0
2021-08-16T03:29:19.247
80835
2021-08-19T16:45:30.027
2021-08-19T03:09:17.117
47739
47739
question
python tensorflow keras
yolov3を使おうとするとkerasとtensorflowが関係する様々なバグが起こります。yolov3に適したkerasとtensorflowのバージョンは何ですか？


教えてくれた方々ありがとうございます。  
公式のバージョンに変えてもエラーが出るので、yolo_video.pyが使えるようになったわけではないですが、実行すべき環境はわかったため、このバージョンで頑張ってみようと思います。


CC BY-SA 4.0
2021-08-19T16:45:30.027
80926
2021-08-19T16:45:30.027
47739
80835
answer