MMDetection3D系列问题解决方法

2024-03-05 12:52

本文主要是介绍MMDetection3D系列问题解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、mmcv中出现TypeError: FormatCode() got an unexpected keyword argument ‘verify‘
  • 二、AttributeError: module 'setuptools._distutils' has no attribute 'version'


前言

本文档记录了我在学习MMDetection3D过程中遇到的各种BUG和相应的解决方法,亲测有效,希望对大家有所帮助。

环境:

mmcv-full                     1.6.0
mmdet                         2.24.0
mmdet3d                       1.0.0rc4     /home/zzz/mmdetection3d_1.0.0/mmdetection3d-1.0.0rc4
mmsegmentation                0.25.0

MMDetection3D官方教程:MM3d

一、mmcv中出现TypeError: FormatCode() got an unexpected keyword argument ‘verify‘

yapf版本过高,需要降级

pip install yapf==0.40.0

二、AttributeError: module ‘setuptools._distutils’ has no attribute ‘version’

Traceback (most recent call last):File "./tools/train.py", line 263, in <module>main()File "./tools/train.py", line 252, in maintrain_model(File "/home/ztl/mmdetection3d_1.0.0/mmdetection3d-1.0.0rc4/mmdet3d/apis/train.py", line 344, in train_modeltrain_detector(File "/home/ztl/mmdetection3d_1.0.0/mmdetection3d-1.0.0rc4/mmdet3d/apis/train.py", line 319, in train_detectorrunner.run(data_loaders, cfg.workflow)File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 117, in runself.call_hook('before_run')File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/base_runner.py", line 317, in call_hookgetattr(hook, fn_name)(self)File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/dist_utils.py", line 135, in wrapperreturn func(*args, **kwargs)File "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/mmcv/runner/hooks/logger/tensorboard.py", line 47, in before_runfrom torch.utils.tensorboard import SummaryWriterFile "/home/ztl/anaconda3/envs/mm3d_b/lib/python3.8/site-packages/torch/utils/tensorboard/__init__.py", line 4, in <module>LooseVersion = distutils.version.LooseVersion
AttributeError: module 'setuptools._distutils' has no attribute 'version'

问题:版本过高,‘setuptools._distutils’ 不支持version参数,需要降级。

pip install setuptools==59.5.0

这篇关于MMDetection3D系列问题解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776577

相关文章

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决