前言:出于种种原因,需要用自己笔记本win10系统跑通mmdetection,当然真实做项目不建议,还是需要用专门的服务器用好显卡。这里我只是在自己电脑上做简单调试用,踩了一些坑,特地记录。
1、确保正确安装pytorch-gpu,并激活相应环境
看我另一篇文章,win10安装gpu版本pytorch
保证cuda、cudnn、pytorch版本匹配上,在上一篇文章中有提到,至于pytorch和python版本不建议太低,mmdetection的github官网上有提到具体的pytorch、python版本最低要求,满足即可。
2、pip install mmcv-full==xxx 可指定版本
根据官网来, 官网安装mmcv教程
为什么要指定版本?
因为mmdetection的版本一直在更新,对应的mmcv-full版本也是在更新的,而mmdetection中的核心文件mmdet中不少代码都用到了mmcv-full中的库函数。因此,如果是首次去用mmdetection,直接按照官网教程来即可,不用特别地去指定版本。如果你是继承了他人的代码,需要先把他人代码先跑通再在其基础之上接着做,有以上需求的情况就需要先了解他的mmdetection中所用的mmcv-full版本,可以使用命令 pip show mmcv-full, 找到对应的版本号了,再安装。不然mmcv-full版本和你的mmdetection版本不匹配就会导致代码运行时出现各种bug。
注意:这一步中你的终端可能会显示以下error
(1) 一堆红中,报编码错误,根据报错找到相应文件,进去改编码格式。如何改百度,改的时候一定一定要先备份!(最简单的方式:在那个文件所在目录下,复制粘贴生成一个副本,再去修改)
(2)报错需要C++ Compiler,如下图所示,说明你的电脑没有安装Visual Studio,因为mmcv-full是需要编译的,如果你的电脑没有装过VS,就会报如下错误因为没有编译器去编译mmcv-full中的内容。这里需要注意:网上有博客提示装Microsoft Visual C++ Build Tools即可,我试过了没成功可能是我安装的版本问题,这里猜测原因可能是我装了2015版本的这个tools,后面卸载重新装了完整的VS2015,还是没有解决问题,后面换了VS2017,成功编译了。我的mmcv-full版本是1.3.1,所以mmcv-full>=1.3.1时应该是需要至少VS2017来编译,至于2017版本的Visual C++ Build Tools我倒没有试过
在这一步中,我纠结了许久这个小问题真的需要下一个那么大的编译器吗?然后不断去找一个更好的方案反而浪费了很多时间,其实,当没有更好的方案的时候,先找到一种能成的方案再有余力去找别的方案会更好。这里我是真没想到直接装VS2017就解决了。(记得不要装在C盘,占空间)
VS2017 下载地址 链接: https://pan.baidu.com/s/1W-nHriODYGqGnQdRYWtIzA 提取码: r6ka,这是一个在线安装软件,下了以后双击exe文件,会提示安装,安装过程参考 VS2017安装教程, 过程中最好翻墙,翻墙我用的艾可云(收费但用起来还行),这个软件无脑使用,还算稳定,平时主要被我用来看看ins和脸书…
3、继续安装其他包文件
mvcc-full安装成功以后,再按照 mmdetection github_get_started 完成剩下的步骤
4、配置完成以后,就可以跑你自己的mmdetection程序
自己笔记本上,尽量先把batchsize和线程数置为1,避免CUDA outofmemory错误,然后就可以调试了,即:
samples_per_gpu=1,workers_per_gpu=1
如果你第一次跑mmdetection,可以参考下我这篇博客,希望会对你有所帮助 mmdetectionV2.x版本 训练自己的VOC数据集
版权声明:本文为博主桃子酱momo原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/weixin_42146720/article/details/122651176