Google Colab安装MaskRCNN依赖后GPU检测异常求助
问题分析与解决方案
核心原因
你的问题本质是TensorFlow版本降级导致的GPU环境兼容性冲突:
- Colab默认预装的TensorFlow 2.18.0-dev版本适配当前环境的CUDA/CuDNN驱动,能正常识别GPU。
- 你通过
requirements.txt强制安装TensorFlow 2.14.0,而该版本要求的CUDA 11.8、CuDNN 8.6与Colab当前的高版本CUDA(通常为12.x+)不兼容,导致TensorFlow无法加载GPU驱动,只能 fallback到CPU模式。
解决方案
方案1:移除指定的TensorFlow版本(推荐)
修改requirements.txt,删除以下两行:
tensorflow==2.14.0 tensorboard==2.14.1
保留其他依赖后重新执行安装命令,这样会使用Colab预装的、已适配GPU的TensorFlow版本,避免版本冲突。
方案2:强制适配TF 2.14.0的GPU环境(操作复杂)
如果必须使用TensorFlow 2.14.0,需手动降级Colab的CUDA/CuDNN到对应版本:
- 检查当前Colab的CUDA版本:
!nvcc --version
- 卸载当前CUDA并安装11.8版本:
!apt-get --purge remove cuda nvidia* libnvidia-* !dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 dpkg --purge !apt-get remove cuda-* !apt autoremove !apt-get update !wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run !chmod +x cuda_11.8.0_520.61.05_linux.run !sudo ./cuda_11.8.0_520.61.05_linux.run --toolkit --silent --override
- 设置环境变量:
import os os.environ["CUDA_HOME"] = "/usr/local/cuda-11.8" os.environ["LD_LIBRARY_PATH"] = "/usr/local/cuda-11.8/lib64:/usr/local/cuda-11.8/extras/CUPTI/lib64" os.environ["PATH"] = "/usr/local/cuda-11.8/bin:" + os.environ["PATH"]
- 重新安装TensorFlow 2.14.0:
!pip install tensorflow==2.14.0
- 重启运行时后,再次执行GPU检测代码。
通用步骤
无论采用哪种方案,安装依赖后必须重启Colab运行时(点击菜单栏「运行时」→「重启运行时」),确保环境配置生效。
内容的提问来源于stack exchange,提问作者SILA
相关产品推荐
相关产品推荐

