mmRotate训练自己数据集报错:raise type(e)(f‘{obj_cls.__name__}: {e}‘)KeyError: “DOTADataset: ‘single‘“【已解决】

2023-05-16

在使用自己的数据集训练mmRotate的时候,已经按照教程修改好了所有的类别和类别数,但还是在运行python tools/train.py的时候遇到了以下的问题:

Traceback (most recent call last):
  File "/root/autodl-tmp/mmrotate/tools/train.py", line 192, in <module>
    main()
  File "/root/autodl-tmp/mmrotate/tools/train.py", line 168, in main
    datasets = [build_dataset(cfg.data.train)]
  File "/root/mmrotate/mmrotate/datasets/builder.py", line 47, in build_dataset
    dataset = build_from_cfg(cfg, ROTATED_DATASETS, default_args)
  File "/root/miniconda3/envs/mm/lib/python3.8/site-packages/mmcv/utils/registry.py", line 72, in build_from_cfg
    raise type(e)(f'{obj_cls.__name__}: {e}')
KeyError: "DOTADataset: 'single'"

明明所有的参数已经修改好了,官网教程的验证也通过了,怎么就是不行呢……

于是在网上疯狂找解决方案,没有一个帖子能解决。最终功夫不负有心人,在下边这篇博客的评论区里找到了同样求助的大佬,他给出的建议是按照博客中的安装方法重新安装,或者把自己的标签改为原本标签中存在的名称。

基于MMRotate训练自定义数据集 做旋转目标检测 2022-3-30_YD-阿三的博客-CSDN博客_mmrotate

因为我是直接拉取AutoDL 的mmrotate的镜像,没有参考任何安装教程,新建镜像后新建虚拟环境直接pip install -r requirements.txt了,我于是往上看这篇博主的安装教程,发现自己少了一步:pip install -v -e .

于是抓紧运行这段代码,运行结果如下:

(mm) root@autodl-container-88b1118cac-9a2bde97:~/autodl-tmp/mmrotate# pip install -v -e .
Using pip 21.1.3 from /root/miniconda3/envs/mm/lib/python3.8/site-packages/pip (python 3.8)
Non-user install because site-packages writeable
Created temporary directory: /tmp/pip-ephem-wheel-cache-w5h6vt39
Created temporary directory: /tmp/pip-req-tracker-4_bg_fx2
Initialized build tracking at /tmp/pip-req-tracker-4_bg_fx2
Created build tracker: /tmp/pip-req-tracker-4_bg_fx2
Entered build tracker: /tmp/pip-req-tracker-4_bg_fx2
Created temporary directory: /tmp/pip-install-govquyod
Looking in indexes: https://repo.huaweicloud.com/repository/pypi/simple
Obtaining file:///root/autodl-tmp/mmrotate
  Added file:///root/autodl-tmp/mmrotate to build tracker '/tmp/pip-req-tracker-4_bg_fx2'
    Running setup.py (path:/root/autodl-tmp/mmrotate/setup.py) egg_info for package from file:///root/autodl-tmp/mmrotate
    Created temporary directory: /tmp/pip-pip-egg-info-qysj1chj
    Running command python setup.py egg_info
    running egg_info
    creating /tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info
    writing /tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/dependency_links.txt
    writing requirements to /tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/requires.txt
    writing top-level names to /tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/top_level.txt
    writing manifest file '/tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/SOURCES.txt'
    listing git files failed - pretending there aren't any
    reading manifest file '/tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'mmrotate/.mim/model-index.yml'
    warning: no files found matching '*.py' under directory 'mmrotate/.mim/configs'
    warning: no files found matching '*.yml' under directory 'mmrotate/.mim/configs'
    warning: no files found matching '*.py' under directory 'mmrotate/.mim/tools'
    warning: no files found matching '*.sh' under directory 'mmrotate/.mim/tools'
    writing manifest file '/tmp/pip-pip-egg-info-qysj1chj/mmrotate.egg-info/SOURCES.txt'
  Source in /root/autodl-tmp/mmrotate has version 0.3.4, which satisfies requirement mmrotate==0.3.4 from file:///root/autodl-tmp/mmrotate
  Removed mmrotate==0.3.4 from file:///root/autodl-tmp/mmrotate from build tracker '/tmp/pip-req-tracker-4_bg_fx2'
Requirement already satisfied: e2cnn in ./src/e2cnn (from mmrotate==0.3.4) (0.2.3)
Requirement already satisfied: matplotlib in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (3.5.0)
Requirement already satisfied: mmcv-full in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (1.6.0)
Requirement already satisfied: mmdet<3.0.0,>=2.25.1 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (2.25.1)
Requirement already satisfied: numpy in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (1.21.4)
Requirement already satisfied: pycocotools in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (2.0.4)
Requirement already satisfied: six in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (1.16.0)
Requirement already satisfied: terminaltables in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (3.1.10)
Requirement already satisfied: torch in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmrotate==0.3.4) (1.10.0+cu113)
Requirement already satisfied: scipy in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from e2cnn->mmrotate==0.3.4) (1.9.0)
Requirement already satisfied: sympy in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from e2cnn->mmrotate==0.3.4) (1.11)
Requirement already satisfied: cycler>=0.10 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (0.11.0)
Requirement already satisfied: pillow>=6.2.0 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (8.4.0)
Requirement already satisfied: pyparsing>=2.2.1 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (3.0.6)
Requirement already satisfied: kiwisolver>=1.0.1 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (1.3.2)
Requirement already satisfied: fonttools>=4.22.0 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (4.28.2)
Requirement already satisfied: python-dateutil>=2.7 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (2.8.2)
Requirement already satisfied: setuptools-scm>=4 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (6.3.2)
Requirement already satisfied: packaging>=20.0 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from matplotlib->mmrotate==0.3.4) (21.3)
Requirement already satisfied: setuptools in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from setuptools-scm>=4->matplotlib->mmrotate==0.3.4) (52.0.0.post20210125)
Requirement already satisfied: tomli>=1.0.0 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from setuptools-scm>=4->matplotlib->mmrotate==0.3.4) (1.2.2)
Requirement already satisfied: addict in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmcv-full->mmrotate==0.3.4) (2.4.0)
Requirement already satisfied: pyyaml in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmcv-full->mmrotate==0.3.4) (6.0)
Requirement already satisfied: yapf in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmcv-full->mmrotate==0.3.4) (0.32.0)
Requirement already satisfied: opencv-python>=3 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from mmcv-full->mmrotate==0.3.4) (4.6.0.66)
Requirement already satisfied: mpmath>=0.19 in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from sympy->e2cnn->mmrotate==0.3.4) (1.2.1)
Requirement already satisfied: typing-extensions in /root/miniconda3/envs/mm/lib/python3.8/site-packages (from torch->mmrotate==0.3.4) (4.0.0)
Created temporary directory: /tmp/pip-unpack-a1zsp1ly
Installing collected packages: mmrotate
  Attempting uninstall: mmrotate
    Found existing installation: mmrotate 0.3.2
    Uninstalling mmrotate-0.3.2:
      Created temporary directory: /tmp/pip-uninstall-2yjeyrn6
      Removing file or directory /root/miniconda3/envs/mm/lib/python3.8/site-packages/mmrotate.egg-link
      Removing pth entries from /root/miniconda3/envs/mm/lib/python3.8/site-packages/easy-install.pth:
      Removing entry: /root/mmrotate
      Successfully uninstalled mmrotate-0.3.2
  Running setup.py develop for mmrotate
    Running command /root/miniconda3/envs/mm/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/root/autodl-tmp/mmrotate/setup.py'"'"'; __file__='"'"'/root/autodl-tmp/mmrotate/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
    running develop
    running egg_info
    creating mmrotate.egg-info
    writing mmrotate.egg-info/PKG-INFO
    writing dependency_links to mmrotate.egg-info/dependency_links.txt
    writing requirements to mmrotate.egg-info/requires.txt
    writing top-level names to mmrotate.egg-info/top_level.txt
    writing manifest file 'mmrotate.egg-info/SOURCES.txt'
    listing git files failed - pretending there aren't any
    reading manifest file 'mmrotate.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'mmrotate.egg-info/SOURCES.txt'
    running build_ext
    Creating /root/miniconda3/envs/mm/lib/python3.8/site-packages/mmrotate.egg-link (link to .)
    Adding mmrotate 0.3.4 to easy-install.pth file

    Installed /root/autodl-tmp/mmrotate
Successfully installed mmrotate-0.3.4

出现Successfully installed mmrotate-0.3.4,再次运行train.py,大功告成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mmRotate训练自己数据集报错:raise type(e)(f‘{obj_cls.__name__}: {e}‘)KeyError: “DOTADataset: ‘single‘“【已解决】 的相关文章

  • STM32 四线驱动1602A 填坑!解决重启乱码

    最近学STM32 xff0c 用来丰富一下生活 xff0c 一个四线1602搞得一星期 xff0c 对自己的智商也是醉了 填坑开始 xff01 用的是HAL库编写的 xff0c 仅仅在ODR寄存器使用了一点寄存器操作 xff0c 其余全是H
  • 谭浩强C语言练习题及详细答案

    本文参考 嗨客网 Java 实战 前言 本篇文章分享的是 C 语言程序设计 xff08 谭浩强 C 语言第三版 xff09 课后习题及答案 xff0c 大家在学习了 C 语言程序设计后 xff0c 做几道相关的练习题 xff0c 复习一下该
  • 【自学C++】Windows安装C++语言开发环境

    Windows安装C 43 43 语言开发环境 Windows安装C 43 43 语言开发环境教程 C 43 43 的开发环境可以直接使用 C 语言 的开发环境 xff0c 同时 xff0c Windows 本身就自带 C 43 43 语言
  • 【自学Python】Python bytes转string

    Python bytes转string Python string转bytes教程 在 Python 中 xff0c bytes 类型和 字符串 的所有操作 使用和内置方法也都基本一致 因此 xff0c 我们也可以实现将 bytes 类型转
  • 【自学Python】Python查找字符串位置

    Python查找字符串位置 大纲 Python查找字符串位置教程 在开发过程中 xff0c 很多时候我们有在一个 字符串 中查找另一个字符串位置的需求 xff0c 在 Python 中 xff0c 在一个字符串中查找另一个字符串的位置我们使
  • 【自学Docker 】Docker port命令

    Docker port命令 概述 docker port命令教程 docker port 命令可以用于列出指定的 Docker容器 的端口映射 xff0c 或者将容器里的端口映射到宿主机 该命令后面的 CONTAINER 可以是容器Id x
  • 【自学Docker】Docker pull命令

    大纲 Docker pull命令 docker pull命令教程 docker pull 命令用于从镜像仓库中拉取或者更新指定镜像 docker pull 命令中的 name 即镜像名称后面可以跟上镜像标签或者镜像摘要 docker pul
  • 【自学Docker】Docker push命令

    大纲 Docker push命令 docker push命令教程 docker push 命令用于将本地的 Docker镜像 上传到 Docker镜像仓库 docker push命令使用之前需要要先登陆到镜像仓库 docker push命令
  • 【自学Linux】Linux运行级别

    Linux运行级别 Linux运行级别教程 Linux 可以支持运行级别的设置 xff0c 运行级别就是操作系统当前正在运行的功能级别 xff0c 级别是从 0 到 6 Centos7 系统之前的版本是通过 etc inittab 文件来定
  • 【自学Linux】 Linux文件目录结构

    Linux文件目录结构 Linux文件目录结构教程 在 Linux 中 xff0c 有一个很经典的说法 xff0c 叫做一切皆文件 xff0c 因此 xff0c 我们在系统学习 Linux 之前 xff0c 首先要了解 Linux 的文件目
  • 【自学Linux】Linux一切皆文件

    Linux一切皆文件 Linux一切皆文件教程 Linux 中所有内容都是以文件的形式保存和管理的 xff0c 即一切皆文件 xff0c 普通文件是文件 xff0c 目录是文件 xff0c 硬件设备 xff08 键盘 监视器 硬盘 打印机
  • 链路聚合--Eth-Trunk

    链路聚合技术是解决二层交换机多条链路产生环路的问题 xff0c 不仅避免了环路问题 xff0c 还提高了数据的传输效率 链路聚合分为两种模式 xff1a 手动模式和LACP模式 手动模式 手动模式就是人工的方式去创建Eth Trunk和成员
  • 块元素和内联元素的特点和区别

    lt css基础之块级元素和内联元素 块级元素的特点 xff1a 1 占一整行 2 是一个矩形 3 可定义宽度和高度 xff0c 内边距 xff0c 外边距等 4 其display属性默认为block 内联元素的特点 xff1a 1 并不占
  • 在vs code中使用git

    在vs code使用git 1 下载安装git 下载地址 xff1a Git Downloads 下载后安装选择默认选项即可 2 安装完成后 xff0c 设置git的环境变量 xff1a 在系统的path环境变量中添加git exe的安装目
  • Ubuntu下压缩与解压缩

    一 linux下常用的压缩格式 linux下常用的压缩扩展名有 xff1a tar tar bz2 tar gz 二 Windows下7ZIP软件的安装 因为Linux下很多文件是bz2 gz结尾的文件 xff0c 因此需要在windows
  • VIO的图优化模型

    因子图结构 VIO在纯视觉的基础上添加了IMU约束 xff0c 因子图如下 xff1a 状态变量 VIO中 xff0c 待估计的状态变量为 i 61 R
  • CMakeLists写法总结

    个人最近学习了一些关于常见的CMakeLists的一些写法格式 xff0c 分享给大家 CMAKE MINIMUM REQUIRED VERSION xxx 该项表示要求CMAKE的最低版本号 PROJECT aim1 此项表示所建立的工程
  • Qt两种传参形式(信号槽传参、界面传参)

    一 UI界面传参 在Qt中传输数据通常有两种形式 xff0c 一种是把待传输的数据先保存到UI界面的控件中 xff0c 然后子类从界面中读取数据 使用该控件作为参数传递承载 1 首先将计算出的数值传到控件中 ui span class to
  • Intel RealSense T265 Windows10 环境下运行

    Intel RealSense T265 Windows10 环境下运行 最近从某宝上买了个T265 体验了下 intel的硬件开发 卖家怕我不会用还专门问了我会不会用 intel的包装里面不带那个很酷炫的三脚架 xff01 xff01 x
  • TB6612FNG电机驱动替代方案

    最近东芝的一个很常用的电机驱动芯片TB6612FNG停产 xff0c 这是一个全桥驱动芯片 xff0c 经过测试 xff0c 两款比较好的替代芯片有ST公司的L298系列 xff0c L293D系列和VNH5019系列的全桥驱动器 这里的完

随机推荐