先前条件:
-
安装vs studio2019 “必须是2019,2022我试过不行”并且要在安装的时候勾选C++桌面编译条件
-
conda环境(miniconda or anaconda),这个可以自己搜,安装挺简单的
-
CUDA,默认您已安装对应的cuda驱动,详细的可以移步其他教程
其实conda不是必备品,只不过我本地环境是python3.9,听说使用mmdet要python3.8好配置一点,因此使用conda创建一个虚拟环境。!!!有时候迷信能减少好多bug。注意:安装conda不要把conda放进环境变量,因为我本地有旧python环境,conda只是为了mmdet使用,如果你有需要也可以把conda放进环境变量
齐活!我的mmdet是2.19.0,mmcv选择1.3.17
“按照下面的方法应该无论更新到什么版本都可以成功安装!”
如果有安装疑问可以在评论问我,或者邮件li1901@foxmail.com,我都会尽快回复
一、调配VS c++编译器环境变量位置
按照下图顺序找到cl.exe(如果你的vs2019是默认安装路径的话)
根据如上我的路径一步一步找到cl.exe,注意路径中的86、64的顺序,一定不要搞错
把cl.exe所在的路径添加到 系统环境变量
双击path,进入环境变量设置
将上述路径添加,并“上移”,将此变量上移到最高处(环境变量的添加不会的可以搜一下其他的教程)
至此,环境变量配置完毕,可在cmd中输入cl检测
如上图即完毕。
二、conda创建环境
进入conda prompt工具(利用conda创建环境可以搜一下其他的教程)
创建环境并激活
conda create -n mmdet python=3.8
conda activate mmdet
下一步安装pytorch
因为我的cuda安装的是目前最新版本,因此我的pytorch直接从官网命令下载
首先百度pyorch
进入pytorch官网,
点击install
根据自己的版本选择,复制最下面的命令,并在prompt中执行
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
随后让他工作,等待安装完成,即可
三、找到mmcv官方文件
首先安装mmcv-full
https://github.com/open-mmlab/mmcv
进入上面的链接,找到tags
点击进入,根据mmdetection选择合适的mmcv版本,我的mmdet是2.19.0,故mmcv选择1.3.17
点击zip下载文件
找到下载的文件,将里面的文件夹解压缩到桌面,如图
打开conda prompt powershell,注意是powershell
先激活conda环境
conda activate mmdet
接着cd到mmcv文件夹(cd操作不会还要让我写吧?)
我的环境名是“aaaa”,你们的应该是“mmdet”
完成后,根据下面的命令操作
pip install -r .\requirements.txt
完成后设置显卡cuda算力,我的是3060laptop,算力是8.6
算力查找网址CUDA GPUs | NVIDIA Developer
$env:TORCH_CUDA_ARCH_LIST="8.6"
这些命令都要输入一个执行一次,注意
下一个命令
$env:MMCV_WITH_OPS = 1
下一个
$env:MAX_JOBS = 4
设置完毕,接下来开始编译,这段命令会运行很长时间,等待即可
python setup.py build_ext
完毕后,下一个命令:
python setup.py develop
等待完成,mmcv就安装完毕了(做这些工作的时候我是没有报错过,有报错的自己处理)
四、找到mmdet官方文件
和mmcv一样,进入github网站,tags,找到自己的版本点击zip下载并解压到桌面,如下图
注意:文件夹里面的checkpoints文件夹和test.py文件是我自己添加的
conda prompt powershell进入文件目录:
下面,命令编译
pip install -r requirements.txt
接下来
python setup.py develop
至此,安装完成!!!!!!!!!
恭喜你!
小小测试:
#下面的代码就是我放在test.py这个python文件里面用来测试的代码
from mmdet.apis import init_detector, inference_detector, show_result_pyplot
import mmcv
config_file = './configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py'
# download the checkpoint from model zoo and put it in `checkpoints/`
# url: https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
#上面这一步就是创建一个checkpoints文件夹,并点击上面的url下载pth文件,放在checkpoints里面
checkpoint_file = './checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'
model = init_detector(config_file, checkpoint_file, device='cuda:0')
img = './demo/demo.jpg'
result = inference_detector(model, img)
show_result_pyplot(model, img, result)
运行就行了,如果报错可能是有关的pip包没有安装好,根据提示安装就行
测试结果:
如果测试完成,恭喜你 ,安装成功!