Google Colab用TuriCreate GPU训练目标检测模型仅调用CPU问题求助
解决方案
1. 卸载不兼容的高版本CUDA组件
你当前安装的CUDA 11.0不符合TuriCreate的GPU支持要求,TuriCreate最后一个支持Linux GPU训练的稳定版本仅兼容CUDA 10.1,先执行以下命令清理现有CUDA相关包:
!sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" "libnvinfer*" "libcudnn*" !sudo apt-get autoremove -y !sudo apt-get autoclean !rm -rf /usr/local/cuda*
2. 安装兼容版本的CUDA和cuDNN
执行以下命令安装CUDA 10.1和对应版本的cuDNN:
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin !sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 !sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub !sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" !sudo apt-get update !sudo apt-get install -y --no-install-recommends cuda-10-1 libcudnn7=7.6.5.32-1+cuda10.1 libcudnn7-dev=7.6.5.32-1+cuda10.1
3. 正确注入环境变量
仅写入.bashrc不会被Colab当前Python运行时读取,直接在代码中注入环境变量:
import os os.environ['LD_LIBRARY_PATH'] = '/usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/extras/CUPTI/lib64:' + os.environ.get('LD_LIBRARY_PATH', '') os.environ['CUDA_HOME'] = '/usr/local/cuda-10.1'
4. 安装对应版本的依赖包
调整依赖安装顺序,CUDA配置完成后再安装TuriCreate和匹配的TensorFlow版本:
!pip uninstall -y turicreate tensorflow tensorflow-gpu !pip install turicreate==6.4.1 tensorflow-gpu==2.3.0
5. 修正GPU配置调用逻辑
导入TuriCreate后立刻设置GPU参数,不要先加载数据集或其他模块,避免识别失效:
import turicreate as tc tc.config.set_num_gpus(1) # 确认GPU识别结果 print("可用GPU数量:", tc.config.get_num_gpus()) # 后续再加载数据集、执行训练代码
如果上述步骤执行完成后输出可用GPU数量为1,再启动训练即可正常调用GPU,不会再出现CPU训练的提示。
内容的提问来源于stack exchange,提问作者kegbird
相关产品推荐
相关产品推荐

