You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Colab切换GPU运行时导入keras.optimizers.Adam报模块不存在错误

问题根因
  • Colab切换CPU/GPU运行时会完全重置容器环境,之前在CPU环境手动安装的Keras 2.2.4会被直接清除,恢复为环境默认预装的依赖版本。
  • 当前Colab GPU运行时默认预装Keras 3.x版本,该版本重构了优化器模块:标准Adam类已迁移至keras.optimizers.legacy子路径下,直接从keras.optimizers导入必然触发ImportError。
  • Keras 2.2.4是TensorFlow 1.x生态的适配版本,和GPU环境默认预装的TensorFlow 2.x+高版本存在API、依赖双重冲突,直接安装指定版本Keras也无法正常运行。
修复步骤(固定使用Keras 2.2.4 + GPU算力)

所有操作必须在切换到GPU运行时后执行,切换环境前的安装操作都会被重置失效:

  1. 先卸载环境预装的高版本冲突依赖:
!pip uninstall -y keras tensorflow tf-keras tensorflow-estimator
  1. 安装和Keras 2.2.4完全兼容的GPU版TensorFlow 1.15(该版本为Keras 2.2.4适配的最高TF稳定版,支持CUDA算力调用):
!pip install tensorflow-gpu==1.15.0
  1. 强制安装指定版本的Keras 2.2.4:
!pip install keras==2.2.4 --no-deps
  1. 执行命令重启运行时,让旧版本依赖生效(安装低版本TF后必须重启,否则会加载残留的高版本动态库报错):
import os
os.kill(os.getpid(), 9)
  1. 运行时重启后,重新执行导入代码即可正常运行,可通过以下代码验证GPU是否正常加载:
from keras.optimizers import Adam
import keras.backend as K
# 输出可用GPU设备列表
print("可用GPU设备:", K.tensorflow_backend._get_available_gpus())

如果输出内容包含/device:GPU:0字样,说明GPU算力已经正常挂载,可以启动长周期训练任务。

注意事项
  • 不要在CPU环境提前安装上述依赖,切换GPU环境后所有自定义安装包都会被清除,必须在GPU环境初始化完成后再执行安装命令。
  • 安装完成后不要执行任何升级TensorFlow、Keras的操作,否则会覆盖指定版本,复现导入错误。
  • 如果安装过程中出现h5py等依赖版本报错,可补充安装兼容版本:!pip install h5py==2.10.0,再重启运行时即可。

内容的提问来源于stack exchange,提问作者Alejandro Del Pozzo Escalera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 04:09:16