一、介绍
MMRotate的github网站已经给出了非常详细的安装步骤
所有的安装步骤已经在安装文档里,并且非常详细,
本文主要记录一些踩坑的地方。
二、流程
1.配置conda环境
假设你的Anaconda已经安装好了,并且之前自己创建过环境。使用 nvidia-smi 指令查询,我的CUDA版本是12.1。
cmd打开本地终端(最好是在D盘下面打开,因为后续的mmrotate的文件会直接安装在当前目录)
bash
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
bash
conda install pytorch==1.8.0 torchvision==0.9.0 cudatoolkit=10.2 -c pytorch
2.使用 MIM 安装 MMCV 和 MMDetection
非常建议还是使用MIM安装,否则的话还要去根据 PyTorch 版本及其 CUDA 版本手动指定下载指令后面的 find-url,比较麻烦)
注意,github上的安装步骤其实是有一点点问题的,就是我按照如下:
pip install -U openmim
mim install mmcv-full
mim install mmdet
安装的话,最后运行mmrotate的时候会报错:
`MMCV 与 MMDetection 的兼容问题: "ConvWS is already registered in conv layer"; "AssertionError: MMCV==xxx is used but incompatible. Please install mmcv>=xxx, <=1.8.0
所以我又重新配置了环境,并使用:
bash
pip install -U openmim
mim install mmcv-full==1.5.3
mim install mmdet==2.25.1
进行安装。
(具体版本对应如下所示,见此链接)
3.安装 MMRotate
我直接从源码安装
bash
git clone https://github.com/open-mmlab/mmrotate.git
cd mmrotate
pip install -v -e .
4.验证
(1)首先下载配置文件和检查点文件
bash
mim download mmrotate --config oriented_rcnn_r50_fpn_1x_dota_le90 --dest .
(2)验证推理演示
bash
python demo/image_demo.py demo/demo.jpg oriented_rcnn_r50_fpn_1x_dota_le90.py oriented_rcnn_r50_fpn_1x_dota_le90-6d2b2ce0.pth --out-file result.jpg
然后会在当前目录下看到一张名为 result.jpg 的新图片,其中旋转边界框绘制在汽车、公共汽车等目标上,就算成功啦
(3)注意:在这一步骤的时候,可能会报错:
bash
File "D:\Anaconda\envs\open_mmlab\lib\site-packages\PIL\Image.py", line 100, in <module>
from . import _imaging as core
ImportError: DLL load failed while importing _imaging: 找不到指定的模块。
这可能是因为你的Pillow版本不匹配,
解决办法:先卸载Pillow再安装就行了
bash
pip uninstall Pillow
pip install Pillow