在Google Colab中安装CUDA 10替换10.1以适配TensorFlow 1.14
解决Google Colab中切换到CUDA 10.0以运行TensorFlow 1.14的问题
我之前在Colab上也碰到过一模一样的问题——TF1.14依赖CUDA10.0的库,而Colab默认升级到10.1后,软链接和常规卸载都没搞定。其实问题出在Colab的临时环境特性,必须彻底清理+重新配置环境变量才能生效,下面是经过验证的完整步骤:
问题根源
你的报错清晰指向TensorFlow 1.14需要的libcusolver.so.10.0等CUDA10.0专属库不存在,而CUDA10.1的库和10.0并非完全兼容,强行软链接会导致后续运行时的隐性错误;之前的卸载步骤可能没彻底清理残留,或者环境变量没正确重置,导致安装的CUDA10.0没被系统识别。
完整解决方案步骤
1. 彻底清理现有CUDA和NVIDIA组件
首先要把Colab默认的CUDA10.1、NVIDIA驱动及相关依赖完全移除,避免版本冲突:
# 卸载所有CUDA相关包和NVIDIA驱动 !apt-get --purge remove -y cuda nvidia* libnvidia-* !dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 dpkg --purge !apt-get remove -y cuda-* !apt-get autoremove -y !apt-get clean -y
2. 安装CUDA10.0及配套依赖
接下来安装适配TF1.14的CUDA10.0、cuDNN7.6.2和TensorRT,这些版本都是官方推荐的兼容组合:
# 添加CUDA10.0的Ubuntu源 !wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb !sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb !sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub !sudo apt-get update -y # 添加NVIDIA机器学习源(用于获取cuDNN和TensorRT) !wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb !sudo apt install -y ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb !sudo apt-get update -y # 安装适配CUDA10.0的NVIDIA驱动418(稳定版本) !sudo apt-get install -y --no-install-recommends nvidia-driver-418 # 安装CUDA10.0核心库、cuDNN7.6.2和TensorRT !sudo apt-get install -y --no-install-recommends \ cuda-10-0 \ libcudnn7=7.6.2.24-1+cuda10.0 \ libcudnn7-dev=7.6.2.24-1+cuda10.0 \ libnvinfer5=5.1.5-1+cuda10.0 \ libnvinfer-dev=5.1.5-1+cuda10.0 # 修复可能的依赖损坏问题 !apt --fix-broken install -y
3. 重置环境变量并验证安装
Colab的默认环境变量还指向旧的CUDA路径,必须手动更新才能让系统识别新安装的CUDA10.0:
# 设置CUDA10.0的环境变量 %env LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CUPTI/lib64 %env PATH=/usr/local/cuda-10.0/bin:$PATH # 验证CUDA版本是否正确 !nvcc --version # 验证NVIDIA驱动是否正常运行 !nvidia-smi
4. 安装TensorFlow1.14并测试GPU检测
最后安装TF1.14的GPU版本,并确认GPU能被正确识别:
# 安装TensorFlow1.14 GPU版 !pip install tensorflow-gpu==1.14.0 # 测试GPU是否被TensorFlow识别 import tensorflow as tf print("TensorFlow版本:", tf.__version__) print("可用GPU数量:", len(tf.config.experimental.list_physical_devices('GPU'))) print("GPU设备详情:", tf.config.experimental.list_physical_devices('GPU'))
重要提示
- Colab的虚拟机是临时的,每次重启会话后都需要重新执行上述步骤,因为重启后会恢复到默认的CUDA10.1环境。
- 不要尝试混合不同版本的CUDA库,彻底清理是避免冲突的关键。
- 驱动版本必须和CUDA版本匹配:CUDA10.0要求驱动版本≥410.48,选择418是因为它是经过验证的稳定版本,不会出现兼容性问题。
内容的提问来源于stack exchange,提问作者vade
相关产品推荐
相关产品推荐

