解决:AttributeError: ‘str‘ object has no attribute ‘decode‘
目錄
1環境介紹
2報錯信息:
3問題分析
4問題查找
5最終解決
1環境介紹
深度學習框架版本及對應python環境版本如下:
TensorFlow2.1.0+keras2.3.1+python36
2報錯信息:
? File "D:\Python36\lib\site-packages\keras\engine\saving.py", line 492, in load_wrapper
 ? ? return load_function(*args, **kwargs)
 ? File "D:\Python36\lib\site-packages\keras\engine\saving.py", line 584, in load_model
 ? ? model = _deserialize_model(h5dict, custom_objects, compile)
 ? File "D:\Python36\lib\site-packages\keras\engine\saving.py", line 273, in _deserialize_model
 ? ? model_config = json.loads(model_config.decode('utf-8'))
 AttributeError: 'str' object has no attribute 'decode'
3問題分析
在上述的環境下,加載.h5深度學習模型,報字符無法解碼的錯誤,大概率是某個包版本不兼容。具體是什么不兼容,從報錯信息可以看到這一句:
model = _deserialize_model(h5dict, custom_objects, compile)當前環境對h5文件處理的時候出現反序列化不可進行的問題,查找資料發現:
?當我們安裝tensorflow2.1.0的時候,附帶會自動為我們安裝后h5py的版本是3.1.0.然而tensorflow2.1.0支持h5py<3.0.0,這就是上述報錯的根本原因。
4問題查找
網上搜索:
?點進去第一個
?發現很多支持python3.6的后h5py版本,到底用哪一個呢?
在進一步搜一下:
?發現很多對應的,點進去查找自己對應的版本就可以了。上述只是展示一下找答案的方法,不涉任何其他目的。
5最終解決
首先卸載原來的h5py-3.1.0
接著安裝匹配的h5py版本
?最終完成安裝
?打開設置看一下
?安裝成功!
?希望對看到的同學有用~
這里安裝過程報了另外一個錯誤,如有解決辦法,歡迎留言交流~
總結
以上是生活随笔為你收集整理的解决:AttributeError: ‘str‘ object has no attribute ‘decode‘的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 单片机毕业设计不用愁!!30篇单片机毕业
- 下一篇: honeywell Xenon TM 1
