导入Keras模块时触发Assertion Error问题排查求助
解决Keras导入时的AssertionError问题
嘿,我之前也碰到过一模一样的问题!这种AssertionError大概率是Keras和TensorFlow版本不兼容,或者你在Anaconda环境里同时用pip和conda装包导致的依赖冲突。下面是几个亲测有效的解决办法:
1. 对齐Keras和TensorFlow的版本
现在单独安装的Keras对TensorFlow版本要求很严格,版本不匹配直接就会出问题。给你个大致的版本对应参考:
- 如果你用的是TensorFlow 2.x,建议装
keras==2.4.3(这个版本和大部分TF2.x兼容) - 要是还在维护TF1.x项目,那Keras得选2.3.x及以下的版本
先把现有Keras卸载干净:
pip uninstall keras -y
然后根据你的TF版本装对应Keras:
# 举个例子,TF2.x的话就跑这个 pip install keras==2.4.3
2. 直接用TensorFlow内置的tf.keras(最推荐)
其实现在官方早就把Keras整合进TensorFlow了,单独装Keras反而容易出问题。你直接把导入语句改成这样就行:
from tensorflow.keras.callbacks import LambdaCallback
这样完全不用单独装Keras,用TF自带的版本,兼容性拉满,以后也不会再踩版本冲突的坑。
3. 清理Anaconda环境里的包冲突
要是你是在Anaconda环境里用pip装的Keras,很大概率和conda装的TF或者其他依赖“打架”了。可以彻底清一遍重装:
- 先把相关包全卸载:
pip uninstall keras tensorflow -y conda remove keras tensorflow -y
- 然后用conda重新装TensorFlow(conda会自动帮你装配套的Keras,省心):
conda install tensorflow
4. 验证修复效果
改完之后跑段代码试试,确认没问题:
import tensorflow as tf from tensorflow.keras.callbacks import LambdaCallback print(f"TensorFlow版本: {tf.__version__}") print(f"Keras版本: {tf.keras.__version__}")
要是没报错,说明环境已经搞定啦!
内容的提问来源于stack exchange,提问作者vishnu prashanth
相关产品推荐
相关产品推荐

