安装MMRotate流程

一、介绍

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
相关推荐
网络研究院2 小时前
人工智能有助于解决 IT/OT 集成安全挑战
网络·人工智能·安全·报告·工业·状况
七哥的AI日常3 小时前
个人随想-gpt-o1大模型中推理链的一个落地实现
人工智能
985小水博一枚呀6 小时前
【深度学习|可视化】如何以图形化的方式展示神经网络的结构、训练过程、模型的中间状态或模型决策的结果??
人工智能·python·深度学习·神经网络·机器学习·计算机视觉·cnn
LluckyYH7 小时前
代码随想录Day 46|动态规划完结,leetcode题目:647. 回文子串、516.最长回文子序列
数据结构·人工智能·算法·leetcode·动态规划
古猫先生7 小时前
YMTC Xtacking 4.0(Gen5)技术深度分析
服务器·人工智能·科技·云计算
一水鉴天8 小时前
智能工厂的软件设计 “程序program”表达式,即 接口模型的代理模式表达式
开发语言·人工智能·中间件·代理模式
Hiweir ·9 小时前
机器翻译之创建Seq2Seq的编码器、解码器
人工智能·pytorch·python·rnn·深度学习·算法·lstm
Element_南笙9 小时前
数据结构_1、基本概念
数据结构·人工智能
FutureUniant9 小时前
GitHub每日最火火火项目(9.21)
人工智能·计算机视觉·ai·github·音视频
菜♕卷9 小时前
深度学习-03 Pytorch
人工智能·pytorch·深度学习