安装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
相关推荐
Light602 小时前
破局而立:制造业软件企业的模式重构与AI赋能新路径
人工智能·云原生·工业软件·商业模式创新·ai赋能·人机协同·制造业软件
Quintus五等升2 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
natide3 小时前
text-generateion-webui模型加载器(Model Loaders)选项
人工智能·llama
野生的码农3 小时前
码农的妇产科实习记录
android·java·人工智能
TechubNews3 小时前
2026 年观察名单:基于 a16z「重大构想」,详解稳定币、RWA 及 AI Agent 等 8 大流行趋势
大数据·人工智能·区块链
脑极体3 小时前
机器人的罪与罚
人工智能·机器人
三不原则3 小时前
故障案例:容器启动失败排查(AI运维场景)——从日志分析到根因定位
运维·人工智能·kubernetes
点云SLAM3 小时前
凸优化(Convex Optimization)理论(1)
人工智能·算法·slam·数学原理·凸优化·数值优化理论·机器人应用
会周易的程序员3 小时前
多模态AI 基于工业级编译技术的PLC数据结构解析与映射工具
数据结构·c++·人工智能·单例模式·信息可视化·架构
BlockWay3 小时前
WEEX 成为 LALIGA 西甲联赛香港及台湾地区官方区域合作伙伴
大数据·人工智能·安全