解决cuda和pytorch不兼容的问题
作者:小小白·yyl
问题描述
之前是按照网上教程安装的Cuda和pytorch,使用了一段时间之后,在一项任务中安装fastai时,出现了两者版本不兼容问题,无法运行。
找不到指定的程序。
Error loading "D:\ANACONDA3\lib\site-packages\torch\lib\torch_cuda_cpp.dll" or one of its dependencies.
出现如上问题,整了半天才发现是cuda和pytorch不兼容的问题。
解决方法
查了许多方法,也都进行了尝试,最终还是选择了卸载重装。
- cuda环境配置
- 首先下载了cuda116(因为我之前下载的就是cuda116)和cudnn(适合自己电脑版本);
- 对cudnn进行解压并将解压的文件全部复制到cuda里面;
- 进行验证。
说明cuda已经安装好。
说明cudnn已经安装好;cudnn就相当于一个工具。
- 创建虚拟环境
1.进入Anaconda Powershell
2.查看虚拟环境
这里我已经配置好了pytorch环境。
3.创建自己的虚拟环境
conda create -n pytorch python=3.10
4.进行激活环境
这样就进入到自己创建的虚拟环境了。
- 安装pytorch
1.进入官网pytorch,如果刚好下载的是页面上显示的最新版本的话可以直接用图中命令进行安装。
这里注意直接用pip就行。
像我这种情况的话,需要进入之前版本pytorch找到自己需要的版本安装。
2.由于直接安装太慢,我之后根据官网找到我需要的版本进行下载。
千万注意要根据在之前版本pytorch找到的对应关系去下载。
例如:
torch-1.13.0+cu116-cp310-cp310-win_amd64.whl
注意也要跟自己的python版本相对应
# CUDA 11.6 pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116
3.进入创建的虚拟环境,安装下载的包
pip install 'torch-1.13.0+cu116-cp310-cp310-win_amd64.whl' pip install 'torchaudio-0.13.0+cu116-cp310-cp310-win_amd64' pip inatall 'torchvision-0.14.0+cu116-cp310-cp310-win_amd64'
这里一定要注意查看之前版本的对应关系,我装的时候不知道他们三个对应关系具体是什么,安装了好多次才对应上。
4.在虚拟环境下验证自己是否安装成功
conda list
- 验证环境是否配置成功
1.利用pycharm进行验证,查看编译器是否是我们有所创建的那个虚拟环境
2.输入代码验证
import torch print('hello {}'.format(torch.__version__)) print(torch.cuda.is_available())
另外注意使用jupyter notebook时如果出现错误,显示该模块不存在,可以重新打开jupyter notebook,一般就可以解决。
我的jupyter notebook使用的是3.9版本的解释器,所以容易出现该问题。
目前还能正常运行,等之后再考虑更换版本吧!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。