背景:
做目标检测常用的框架可以mmdetection,但是官方的mmdetection框架是基于Ubuntu系统的,以下提供Window10系统安装mmdetection框架的解决方案。(首先感谢一下‘小鸡炖技术’B站UP主)
步骤:
【1】首先安装Visual Studio 2015: [安装地址](https://my.visualstudio.com/Downloads?q=visual%20studio%202015&wt.mc_id=o~msft~vscom~older-downloads)
下载Visual Studio Community 2015,这个版本是免费的,所以不涉及版权问题。
【2】安装Cuda 10.1,这个过程网络上挺多的,注意最后要把cuda环境配置到系统环境变量中,配置好之后,重启!重启!重启!
【3】下载mmdetection所需的安装包,下面提供网盘地址:
https://pan.baidu.com/s/1TP7MgFeTmUSYBsD99pY9Pw 提取码:hl0m
【4】创建一个环境:使用python3.7,我自己试的时候python3.6会报错。因此用下面命令创建一个环境:
conda create -n mmd2 python=3.7
【5】激活mmd2环境:
conda activate mmd2
【6】安装pytorch=1.3,因为系统装的是cuda10.1,因此安装pytorch=1.3,在cuda10.0下无法安装pytorch=1.3,装起来的版本后面会带有cu92,所以直接就上以下命令:
conda install pytorch=1.3 torchvision cudatoolkit=10.1 -c pytorch
【7】安装一些依赖的库:
pip install cython opencv-python pillow matplotlib
【8】修改D:\ProgramData\Anaconda3\envs\mmd2\Lib\site-packages\torch\utils\cpp_extension.py
185行:match = re.search(r’(\d+).(\d+).(\d+)’, compiler_info.decode(“utf8”,“ignore”).strip())
【9】用下载下来的网盘文件中,在mmdetection2.0文件夹下找到flat_hash_map.h以及order_preserving_flat_hash_map.h 然后进入刚才创建的环境目录,我的是这样的:D:\ProgramData\Anaconda3\envs\mmd2\Lib\site-packages\torch\include\c10\util 然后用下载下来的两个文件,替换环境目录下的文件。(注意记得备份原文件,可以在出错的时候还原)
【10】用cd命令切换到mmcv-0.5.8文件夹下,执行下列命令:
pip install -e . #后面有个点,别漏了
【11】切换到cd cocoapi/PythonAPI,这个是你下载下来文件的地址,cd到这个路径就可以了。
python setup.py build_ext install
【12】cd 进入mmdetection2.0文件夹
pip install -r requirements.txt
【13】最后执行
python setup.py develop
【14】编译成功后会显示
【最后测试一下】
python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
原因分析:
严格按照以上配置是能够完成的,如果有其他问题,欢迎评论区留言。
转载:https://blog.csdn.net/Vodka_Lou/article/details/115771888