CUDA 10能否兼容PyTorch 1.5+?解决‘Torch未启用CUDA编译’报错
解决Torch not compiled with CUDA enabled报错方案
针对你需要保留CUDA 10用于其他项目,同时让PyTorch 1.7启用CUDA的需求,提供以下可行方案:
方案1:多CUDA版本共存,临时切换环境变量
Windows支持同时安装多个CUDA版本,通过环境变量切换适配PyTorch 1.7:
- 下载并安装CUDA 10.2(PyTorch 1.7官方兼容版本),安装时选择自定义安装,指定独立路径(如
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2),避免覆盖原有CUDA 10.0 - 下载对应CUDA 10.2的CUDNN版本(如CUDNN 8.0.5),解压后将
bin、include、lib目录下的文件复制到CUDA 10.2的对应目录中 - 激活PyTorch 1.7所在的虚拟环境后,临时设置环境变量:
可将上述命令添加到虚拟环境的set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin;%PATH% set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2Scripts\activate.bat末尾,实现每次激活环境自动切换 - 验证:运行
python -c "import torch; print(torch.cuda.is_available())",返回True即成功
方案2:安装PyTorch 1.7的CUDA 10.2预编译版本
直接替换虚拟环境中不兼容的PyTorch版本:
- 卸载现有PyTorch:
pip uninstall torch torchvision torchaudio -y - 安装适配CUDA 10.2的PyTorch 1.7.1:
pip install torch==1.7.1+cu102 torchvision==0.8.2+cu102 torchaudio==0.7.2 - 验证:运行上述CUDA可用性检查命令确认
方案3:用Conda隔离不同环境
通过Conda创建独立环境,分别适配CUDA 10.0和CUDA 10.2:
- 创建PyTorch 1.7+CUDA 10.2的环境:
conda create -n torch17_cu102 python=3.8 -y conda activate torch17_cu102 conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2 -c pytorch -y - 为依赖CUDA 10.0的项目创建单独环境:
conda create -n proj_cu10 python=3.7 -y conda activate proj_cu10 conda install pytorch==1.3.1 torchvision==0.4.2 cudatoolkit=10.0 -c pytorch -y - 切换环境即可分别使用对应配置,互不干扰
方案4:本地编译PyTorch 1.7适配CUDA 10.0(不推荐)
若必须绑定CUDA 10.0,可自行编译源码:
- 下载PyTorch 1.7源码,配置编译参数指定CUDA版本为10.0
- 编译需依赖VS、CUDA 10.0、CUDNN 7.4等工具,过程繁琐耗时,仅建议有编译经验的用户尝试
内容的提问来源于stack exchange,提问作者Aleena Rayamajhi
相关产品推荐
相关产品推荐

