坑记(二):比赛环境搭配坑(1080ti,安装torch+mmdetection)

坑记(二):比赛环境搭配坑(1080ti,安装torch+mmdetection),第1张

安装mmdetection

又跟着小伙伴们参加比赛了,这回晾了许久,生疏不少。新的比赛就意味着要搭建新的环境,这回要安装mmdetection的环境。我自己的机子是很老的显卡,1080ti,11G的显存,之前已经装了CUDA10.2和cudnn。

电脑安装的是miniconda,摆脱了anaconda的累赘,改为常用命令行安装;结合vscode,就是我大概的装备了。撸起袖子,按照比赛给的安装baseline开始配置环境。

也记录一下坑。

先给设立一个隔离环境

提示1:最好打开的是anaconda powershell prompt来做下面的 *** 作

conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab

比赛文档中要求的python版本很重要,一定要听。另外,记住环境名 “open-mmlab”

安装合适的pytorch

因为1080ti的关系,没有安培架构,只能装10.2的CUDA(已经极限),所以pytorch官网已经没有办法提供相应的torch版本,说至少11.2起跳。所以只能试试顺着安装文档的来。

提示2:需要确保 CUDA 的编译版本和运行版本匹配。可以在 PyTorch 官网查看预编译包所支持的 CUDA 版本。我这里是10.2的CUDA,故。

conda install pytorch cudatoolkit=10.2 torchvision -c pytorch

这里就有一个坑:如果不注意CUDA版本,或者CUDA没有提前装好的话,这里的pytorch就会默认装的cpu版的,在后续就很麻烦。解决办法就是安装完这一步之后,输入conda list看看,旁边会标有:

pytorch                   1.6.0           py3.7_cuda102_cudnn7_0    pytorch

如果显示如上,这步安全。然后做个py文档测试一下是否能用,double check:

import torch
print(torch.__version__)
print(torch.has_cuda)
安装mmdetection(一步到位 | 舒适法)

所谓舒适法,就是很安逸地装完。

pip install openmim
mim install mmdet

装完之后就可以测试一下,mmcv是否安装成功,还是一样,在测试py文档中输入:

from mmcv.ops import RoIPool

直接运行,不报错就可以。不幸的是,我的报错了,说找不到DLL文件。查了很多文献,说是mmcv的包不太行,得走自己编译的稳妥,好么,就有了下面的版本。

安装mmdetection(手动 | 稍折腾法) 1. 先安装mmcv-full

安装 mmcv-full,官方建议是使用预构建包来安装:

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html

提示3:要注意cuda版本10.2,torch版本1.6.0,在上述链接里都得改好,不然也都是错误。
提示4:注意conda list,看看有没有重复安装mmcv,如果“mmcv”和“mmcv-full”在反复安装中,二者都存在的话,将来也要报错。

2. 再安装mmdet
pip install mmdet

MMDetection 和 MMCV 版本兼容性如下所示,需要安装正确的 MMCV 版本以避免安装出现问题。我在自我编译mmcv的时候,屡次不可控制的安装成了1.5.0版本,所以还是改回现在这个方法来了。

| MMDetection 版本 |          MMCV 版本          |
|:--------------:|:-------------------------:|
|     master     | mmcv-full>=1.3.17, <1.5.0 |
|     2.23.0     | mmcv-full>=1.3.17, <1.5.0 |
|     2.22.0     | mmcv-full>=1.3.17, <1.5.0 |
3. 检测是否安装成功
from mmcv.ops import RoIPool

只要不报错,就好。可惜,紧接着就遇到一个新坑:

报错:“from . import _imaging as core”

一查,需要更新一下Pillow,回去powershell prompt:

pip install -U Pillow

再运行就不报错了。

总结
  • cuda版本号和torch版本决定一切,注意看看要修改哪里,别装了个不搭的,尤其是torch给装成cpu版了那就白瞎了氪金狗卡了。
  • mmdet和mmcv-full的版本也要匹配,匹配上则内部自动装的numpy、pandas、matplotlib、scipy等等包都是匹配的。
  • 注意opencv-python,这个包有可能会安装两次,注意uninstall一个长名称的就可以。
  • 搭环境是第一步,真考验人。

最后看到这张demo图眼泪流了下来。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/714004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存