之前gtx1660显卡在高价位卖了,现在只能凑合用gtx650爷爷级显卡。但是使用yolov5时出现
PyTorch no longer supports this GPU because it is too old
百度后解释说gtx650算力太低,当前发布最新版本不支持其显卡。
所以之只能靠自己编译源码
首先下载pytorch源码 我是用1.8.0版本
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive
根据github指示进行下载,这个最好*节省时间。
再用conda建立环境,安装编译环境
conda install astunparse numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests dataclasses
conda install -c conda-forge libuv=1.39
这里面cmake安装时老版本的可以去掉,手动安装cmake最新版本
https://zhuanlan.zhihu.com/p/106977910
参考这篇文章使用vs2019进行编译,找到你对应显卡算力,我显卡为gtx650 对应算力为3.0
因此要设置环境 set TORCH_CUDA_ARCH_LIST=3.0
然后再修改代码,不然安装tourchversion会说CUDA_ARCH=3.0 没有找到
修改\pytorch\torch\utils\cpp_extension.py中
添加3.0,然后进行编译
python setup.py install
中途编译可能会出错,把杀毒软件啥的都关掉就行,win10编译很玄学。
后面就是安装编译tourchvision
下载代码 直接编译即可
花了两天时间解决编译问题,太麻烦。。