pytorch的GPU版本使用问题
如果你没有conda,首先建议下载一个miniconda(用于虚拟环境管理,后面出错了直接把虚拟环境删除重新做)
miniconda下载地址
1 torch.cuda.is_available()返回False
1 需要安装cuda
明确一个概念,不是只能装你显卡支持的最大版本cuda(红线处)也可以装低版本的cuda,卸载cuda见附录
cuda 10.2 支持的算力
-gencode=arch=compute_52,code=sm_52
-gencode=arch=compute_60,code=sm_60
-gencode=arch=compute_61,code=sm_61
-gencode=arch=compute_70,code=sm_70
-gencode=arch=compute_75,code=sm_75
2 安装cuDNN
下载对应cuda的版本即可
下载后把解压后的文件命名为cudnn,移动到cuda下载目录下,系统环境变量下添加以下两条
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\cudnn\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
nvcc -V # 查看cuda版本
set cuda # 可查看 CUDA 设置的环境变量
3 安装pytorch地址
注意:这里只需要看cuda版本,和操作系统,因为python版本更改比较容易,至于torch,上面有的就是支持的版本,没有的就是不支持的,所以torch可以根据需求选择在你的下载目录下cmd,
然后激活你的虚拟环境(我的是cuda102),运行以下代码(使用conda install会出现报错)
pip install 文件名+whl
2024最新尝试,失败的话多试几次,就成功了
torchvison的安装
接着用pip安装剩下的(torch对应的torchvision版本)对应关系查找
需要提前装好numpy和pandas库
我目前只需要这两个,如果你需要其他包,同理搜索torch和你需要的包的版本对应关系
测试
终于成功了
2 附录
1 报错:OSError: [WinError 127] 找不到指定的程序。 Error loading “D:\environment\python\envs\pytorch_gpu\lib\site-packages\torch\lib\torch_python.dll” or one of its dependencies.
解决:升级python版本
2 卸载cuda
保留下面三个,其他都卸载
4 常用的conda指令
conda create -n myenv python=3.9 # 创建新的虚拟环境并指定python版本 ,myenv为你的虚拟环境名字
conda info --envs # 查看当前conda所有环境
conda activate 环境名 #激活你的环境
conda install 包名称 # 在你的环境中用conda或者pip安装包
pip install 包名称
conda remove 包名称
pip uninstall 包名称
deactivate 环境名 # 退出当前环境
conda remove -n 环境名 --all # 删除环境
2024新机尝试 成功
离线安装大概率没啥问题,如果你torch安装上了,torchvison装不上,那就是版本没有对应好。主要就是注意版本对应问题(python和torch和torchvision以及cuda版本对应)去官网查一下,剩下大概率就是网络问题,报超时就多试几次,实在不行就看是哪个安装包超时去下载离线包安装安装方式和torch的一样,在虚拟环境里pip install 对应的第三方库.whl
2024.6.10更新
下载完pytorch后,安装tensorflow就简单多了。因为已经安装过cuda和cuDNN了,直接激活刚才安装pytorch的虚拟环境,然后
安装上面中的随便一个版本,比如下面
pip install tensorflow-gpu==2.5.0
有时候会报下面这种错误~~
ERROR: Could not find a version that satisfies the requirement keras-nightly~=2.5.0.dev (from tensorflow-gpu) (from versions: none)
ERROR: No matching distribution found for keras-nightly~=2.5.0.dev
不用管,重复执行刚从的命令,你会发现下次报错的位置就在后面的第三方库了(上一次报错的位置就不报错了),这样重复几次就ok了。实在不行就开全局代理,香港节点就能安装成功了
代理之后下载速度飞起,tensorflow和pytorch的gpu版本都安装上了
2024.10.9更新,cuda和cudnn最好装tensorflow要求的版本,不然训练会出错误。