背景
在配置yolo8的环境的时候,一直在配置pytorch的地方卡住了,收集了网上许多博主的经验后写下这一篇文章,方便以后自己重新配置的时候不再那么麻烦, 有同样困扰的朋友可以参考一 下
注意:以下的操作都是进入自己的conda环境里面
目录
一.配置conda下载源
这里直接编辑C:/User/用户名/.condarc文件,直接替换为下面的内容
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
二.配置pip下载源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
三.查看自己本机的CUDA版本
nvidia-smi
如图中我的CUDA版本是12.2
四.开始下载对应的包
接着就是查看自己需要下载的Pytorch版本,比如这里我想找2.1.0的,我们直接进入官网查看
Previous PyTorch Versions | PyTorch
我们可以看到我们需要下载以下:
pytorch == 2.1.0
torchvision == 0.16.0
torchaudio == 12.1
这里由于直接在conda中下载不稳定,这里我的解决方法是先手动下载对应的包,再一次性进行安装
官网下载包的地址:download.pytorch.org/whl/torch_stable.html
清华大学下载地址:Index of /anaconda/cloud/pytorch/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
首先就是pytorch:
已经知道我们的CUDA的版本为12.2,所以我们对应pytorch的包的CUDA对应的就需要小于12.2
通过ctrl+f搜索 : torch-2.1.0我们可以看到这一项
这里解释一下:
-
cu121:
- 表示上面我们CUDA的版本,该值需小于我们的版本
-
torch-2.1.0+cu121:
torch
表示这个包是PyTorch。2.1.0
表示PyTorch的版本是2.1.0。+cu121
表示该版本是带有CUDA 12.1支持的。
-
cp38-cp38:
- 表示我们python 的版本为3.8
-
win_amd64:
- 这个部分表示该包是为Windows操作系统和64位AMD架构编译的
然后是下载torchvision
同样的,在官网中可以找到这一项
找到CUDA版本,Python版本,操作系统对应起来的版本
最后是torchaudio
五.下载完所有包后,就可以开始安装了
假设三个包都在 C:\Users\Lenovo目录下
我们可以在conda环境中输入
pip install C:\Users\Lenovo\torchvision-0.16.0+cu121-cp38-cp38-win_amd64.whl
剩下的两个包也如此,这样子就可以正常的安装了
六.检验下载的版本
import torch
import torchvision
print("Torch version:", torch.__version__)
print("Torchvision version:", torchvision.__version__)
print("CUDA available:", torch.cuda.is_available())
if torch.cuda.is_available():
print("CUDA version:", torch.version.cuda)
七.问题总结
1.cuda_is_available() 显示False
- 查看Torch的版本,是不是错误下载了cpu的版本,一般cuda版本在版本号后面都会加上cuda的型号,若是没有则重新下载对应的cuda版本
- 查看pytorch的版本与torchvision的版本是否对应上了,可以在pytorch的官网中查看对应的版本,而且注意torchvision同样有cuda和cpu两种,注意查看,在显示版本信息的后面同样有显示cuda 的版本,如下图