运行Keras LSTM模型时报symbolic Tensor转numpy数组错误如何解决?
问题报错原因
这个报错是NumPy版本与TensorFlow/Keras版本不兼容导致的,1.22及以上版本的NumPy和2.6及更低版本的TensorFlow存在适配缺陷,LSTM层初始化时会触发符号张量转NumPy数组的不支持操作。
你提交的模型代码本身没有语法错误,完成以下任意一种适配调整后即可正常运行:
可行解决方案
- 方案一:降级NumPy到兼容版本
运行以下命令安装匹配版本:pip install numpy==1.21.6
安装完成后重启代码运行环境,重新执行原有代码即可正常编译模型。 - 方案二:升级TensorFlow到高版本
如果你不想降级NumPy,可直接将TensorFlow升级到2.7及以上版本解决兼容问题,运行命令:pip install tensorflow>=2.7
升级完成后原有代码无需任何修改即可正常运行。 - 方案三:临时应急方案(无需修改依赖版本)
在你现有代码的最开头加入两行代码,强制启用即时执行模式即可:
该方案适合暂时无法调整环境依赖版本的临时使用场景。import tensorflow as tf tf.compat.v1.enable_eager_execution()
内容的提问来源于stack exchange,提问作者Heisenberg
相关产品推荐
相关产品推荐

