keras 在调用load_weights的方法是报 ‘str‘ object has no attribute ‘decode‘

在重新部署模型时遇到问题,Keras在尝试加载权重时出现AttributeError,原因是h5py版本不兼容。解决方案是卸载现有h5py模块并安装版本为2.10的h5py。此问题强调了在编写Dockerfile时指定依赖包版本的重要性,以避免因版本升级导致的未知错误。
摘要由CSDN通过智能技术生成

之前的项目运行的很正常的,在切换了一次模型 重新部署的时候发现构建成功 ,运行时会报错。

keras 在调用load_weights的方法是报错

  File "/usr/local/lib/python3.6/site-packages/keras/engine/network.py", line 1166, in load_weights
    f, self.layers, reshape=reshape)
  File "/usr/local/lib/python3.6/site-packages/keras/engine/saving.py", line 1004, in load_weights_from_hdf5_group
    original_keras_version = f.attrs['keras_version'].decode('utf8')
AttributeError: 'str' object has no attribute 'decode'

解决办法:
卸载原来的h5py模块,安装2.10版本

pip install h5py==2.10

警示:
在写dockerfile的时候一定要把每个包的版本指定为当前环境的版本,不然后续版本更新可能会引发很奇怪的bug导致浪费时间
原文链接:https://blog.csdn.net/xiqi4145/article/details/109547242

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值