Keras2.6.0导入BatchNormalization触发ImportError报错求助
报错原因
Keras 2.6.0版本调整了BatchNormalization的模块路径,旧导入路径keras.layers.normalization已废弃,因此触发导入错误。
开头的cudart相关日志属于警告,非程序报错:如果你的设备没有配置NVIDIA GPU,直接忽略即可;如果需要使用GPU加速,安装对应版本的CUDA 11.x与cuDNN即可消除警告。
解决方案
方案1:直接修改导入语句
将原导入代码替换为以下任意一种即可:
- 优先使用TensorFlow内置的Keras(兼容性更好,避免独立Keras与TensorFlow自带Keras冲突):
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import BatchNormalization
- 如果你需要继续使用独立安装的Keras:
from keras.models import Sequential from keras.layers import BatchNormalization
可选优化(避免后续其他导入问题)
如果你后续没有特殊的独立Keras使用需求,可卸载独立安装的Keras,统一使用TensorFlow内置的Keras,减少版本冲突概率:
pip uninstall keras
所有Keras相关模块统一从tensorflow.keras路径导入即可。
内容的提问来源于stack exchange,提问作者Catalin Florin Iordache
相关产品推荐
相关产品推荐

