码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MMrotate_dev 1.x训练自己的数据集


    因为MMRotate dev 1.x 新增了PSC角度编码器以及RTMDet目标检测算法,而之前从官网下载的MMRotate是main分支,没有新增的东西,所以重新搞了一下,以此记录。

    环境配置

    1.创建虚拟环境 

    注意:如果之前安装了MMRotate的其他版本,请重新创建一个虚拟环境,如果继续用原来的虚拟环境,在安装mmrotate dev 1.x的时候,会安装其他版本的mmcv和mmdet,导致原来的mmrotate环境不可用。

    1. conda create --name mmrotate_dev1x python=3.8 -y
    2. conda activate mmrotate_dev1x

     2.安装pytorch

     几个常用的pytorch版本如下:其他版本参考官网

    1. # CUDA 11.3
    2. pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
    3. # CUDA 11.1
    4. pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
    5. # CUDA 10.1
    6. pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

     3.安装mmcv mmdetecion:

    1. pip install -U openmim
    2. mim install mmengine
    3. mim install "mmcv>=2.0.0rc2"
    4. mim install 'mmdet>=3.0.0rc2'

     4.安装mmrotate dev 1.x

    1. git clone https://github.com/open-mmlab/mmrotate.git -b dev-1.x
    2. # "-b dev-1.x" means checkout to the `dev-1.x` branch.
    3. cd mmrotate
    4. pip install -v -e .
    5. # "-v" means verbose, or more output
    6. # "-e" means installing a project in editable mode,
    7. # thus any local modifications made to the code will take effect without reinstallation.

    5.验证安装

    1. import mmrotate
    2. print(mmrotate.__version__)
    3. # Example output: 1.x

    数据集设置

    1.将数据集的标注格式转换成DOTA格式,也可以参考HRSC或者其他格式,这里只做参考:

    1. DOTA数据标签介绍
    2. 标注方式:oriented bounding box 定向边界框
    3. x1, y1, x2, y2, x3, y3, x4, y4, category, difficult
    4. x1, y1, x2, y2, x3, y3, x4, y4, category, difficult
    5. ...
    6. x1, y1, x2, y2, x3, y3, x4, y4:四边形的四个顶点的坐标 顶点按顺时针顺序排列,第一个起点为左上第一个点
    7. category:实例类别
    8. difficult:表示该实例是否难以检测(1表示困难,0表示不困难)

    2. 修改配置文件

    • 复制data.py,改名为自己的数据集,修改如下:

    • 复制一个dota_rr.py文件,改名为自己的数据集名称,这里我以drone数据集为例:

    • 复制一个rotated_rtmdet_...dota.py 改名为....drone.py ,然后更改下面的地方,引用上面的drone_rr.py:

    • 复制dota.py ,改名drone.py,修改如下:

    • 在__init__.py 加上自己的数据集,和之前定义的数据集名称一致:

    训练

    python tools/train.py config文件

     参考:

    《旋转框目标检测mmrotate v1.0.0rc1 之RTMDet训练DOTA(二)》

    《使用mmrotate训练 Dronevehicle 数据集》 

  • 相关阅读:
    系统kafka不消费-topic问题
    深度学习中epoch、batch、step、iteration等神经网络参数是什么意思?
    Java8强大的新特性 —— “Stream API”
    【时间序列分析】A Transformer-based Framework for Multivariate Time Series Representation Learning论文笔记
    Git 忽略.gitignore文件自身/git仅本地忽略某些文件
    hyperf 前置中间件 后置中间件
    第20章-van Emde Boas树 20.1-基本方法
    git的安装 及 命令
    英语CN专刊《英语教师》简介及投稿须知
    阿里最新发布的《Alibaba分布式系统速成笔记》PDF版,供下载
  • 原文地址:https://blog.csdn.net/weixin_45231460/article/details/132883092
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号