openMMLab的mmcv和mmdet、mmdet3d、mmseg版本对应关系

2023-11-10 22:28

本文主要是介绍openMMLab的mmcv和mmdet、mmdet3d、mmseg版本对应关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 openmmlab提供了MIM来统一安装其多个mm功能框架包https://github.com/open-mmlab/mim,但是需要不借助MIM安装时,这里怎么确定要安装什么版本的mmcv和mmdet、mmdet3d、mmseg,在openmmlab网站主页上没有一个容易能找到的完整表格页面来详细记录他们之间的版本对应关系,好不容易找到个Faq页面,里面却只记录了最新的mmcv2.x和其它组件之间的版本,对历史1.x版居然都不记录!反正openmmlab对其mm序列多个功能框架包之间的完整历史版本的对应关系的说明就没有一个完整的清单列表或者统一查询的地方,每次使用基于mmdetection3D框架的模型代码时安装mm相关的包需要去多个页面耐心找!

例如我需要安装对应于CUDA11.6和pytorch1.12.0的mm序列包,是从这里 安装 MMCV — mmcv 2.1.0 文档

点击左下方的Read the Docs 的右边点击可以切换版本,选择v1.7.0,

进入

https://mmcv.readthedocs.io/zh-cn/v1.7.0/get_started/installation.html

才找到和CUDA11.6+pytorch1.12对应的mmcv最低版是1.6.0 !

找到了最基础的mmcv该安装什么版本后,再查找其它框架包该安装什么对应的版本,mmdetection从Prerequisites — MMDetection 2.24.0 documentation

这里找到了mmcv1.6.0对应需安装 2.24.0版mmdetection

对于mmsegmenation,在这里找到了对应的版本说明:

常见问题解答(FAQ) — MMSegmentation 0.30.0 文档

对于mmdetection3d,首选找到mmdetection3d v1.1.0版本对应的安装说明页面:

Get Started — MMDetection3D 1.1.0 documentation

 但是这里推荐的是mmcv2.0,不符合我要的1.6.0,再找紧挨的的版本v1.0.0rc01

Prerequisites — MMDetection3D 1.0.0rc1 documentation

(注意的版本的网址末尾没有/get_started.html需要删掉),里面提到的最高版mmcv是1.5.0

所以估计v1.0.0.rc4应该支持mmcv1.6.0,但是不确定,继续网上搜索,最后找到了mmdet3d dev Faq里的说明:

FAQ — MMDetection3D 1.0.0rc4 documentation

确认了mmdetection3d v1.0.0rc4和mmcv1.6.0是匹配的,但是这个表格里有个错误就是,说mmsegmentation的0.20.0版本和mmcv1.6.0-1.7.0匹配:

实际上不是这样的,安装后运行时会报错:

import mmsegFile "/opt/conda/lib/python3.8/site-packages/mmseg/__init__.py", line 58, in <module>assert (mmcv_min_version <= mmcv_version <= mmcv_max_version), \
AssertionError: MMCV==1.6.0 is used but incompatible. Please install mmcv>=(1, 3, 13, 0, 0, 0), <=(1, 5, 0, 0, 0, 0).

需要安装mmsegmenation0.24.0以上版本才行!

这篇关于openMMLab的mmcv和mmdet、mmdet3d、mmseg版本对应关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔