安装TensorFlow和Transformers后加载模型报错:No module named 'keras.saving.hdf5_format'
问题解决:加载情感分类模型时出现
No module named 'keras.saving.hdf5_format'错误 这个错误的核心原因是Keras版本与Transformers/TensorFlow版本不兼容:较新的Keras 3.x移除了keras.saving.hdf5_format模块,而旧版Transformers仍依赖该模块的存在;或者TensorFlow自带的Keras版本与独立安装的Keras版本冲突。
以下是几种可行的解决办法:
检查版本匹配情况
先执行命令查看当前各库版本:pip3 show keras tensorflow transformers确认TensorFlow与Keras版本是否对齐(TensorFlow 2.x对应Keras 2.x,TensorFlow 3.x可兼容Keras 3.x)。
降级Keras到2.x版本(适配旧版Transformers)
如果你的Transformers版本较低,直接降级Keras到兼容的2.x版本:pip3 install keras==2.15.0该版本适配TensorFlow 2.15及以下版本,能解决模块缺失问题。
升级Transformers到最新版本(适配Keras 3.x)
若想保留Keras 3.x,升级Transformers到最新版,它已适配Keras 3.x的模块结构:pip3 install --upgrade transformers强制使用PyTorch后端加载模型
避开TensorFlow与Keras的冲突,直接指定用PyTorch加载模型,修改代码如下:from transformers import pipeline classifier = pipeline("text-classification", model='bhadresh-savani/distilbert-base-uncased-emotion', framework="pt")
内容的提问来源于stack exchange,提问作者belkarx
相关产品推荐
相关产品推荐

