引言
最近想用yolox模型做目标检测,因为不想因为这个模型污染自己已有的Python环境,就用Anaconda创建自己虚拟环境的方式想先跑个demo,可以却踩了很多坑,下面开始介绍一下
坑
我踩得坑可能比你走过的路还多
出自--陈坤
代理问题
很多小伙伴相比都有科学上网的经验,可是如果你在电脑上挂了代理,在用git clone和conda install的时候都会出现问题
问题我忘记截图了,但都是HttpSockerConnectError之类的问题,有两种解决方案:
- 关闭代理
- 配置代理
在github中:
git config --global http.proxy http://127.0.0.1:port
git config --global https.proxy https://127.0.0.1:port
在anaconda中
conda config --set proxy_servers.http http://id:pw@address:port
conda config --set proxy_servers.https https://id:pw@address:port
找不到cuda
我们都知道判断cuda和cudnn在电脑中是否配置完成的一个判别方式就是输出
import torch
print(torch.cuda.is_available())
如果输出Fasle代表cuda配置不对,正常情况下在自己电脑中如果配置完成在powershell中运行:
nvcc -V
可以输出cuda版本和cuda driver等信息
在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite目录下打开powershell(记住要打开powershell,直接双击会闪退)然后运行deviceQuery.exe和bindwidthTest.exe可以输出以下信息:
但是我遇到的情况非常奇怪,就是自己系统中cuda配置是完全没问题的,但是在anaconda下安装cuda和cudnn以及对应pytorch之后最后输出一直是False,这个问题困扰了我一天,最后终于尝试出解决方案:
问题在于你运行
pip3 install -r requirements.txt
和
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install cudatoolkit=11.3
conda install cudnn=8.2.1
的先后顺序关系,如果先运行前者,默认安装的torch、torchvision等版本不是符合要求的cuda版本,因此要先运行后者,再运行前者,这样配置的环境才会没有问题。
yolox demo
改进一个模型之前肯定要先运行demo,但是yolox的demo.py中导入的包是yolox,但是用pip安装后总是会报错,显示yolox版本不符合要求,其实这个yolox包已经在工程目录中了,因此我们只需要把工程目录添加到包路径即可,在
from yolox.data.data_augment import ValTransform
前加入:
import sys
sys.path.append(r'F:\Python\Deep Learning\Model\YOLOX\YOLOX')
即可
每日一语
我踩得坑比你走的路还多!