复现SSD-DET模型历程(mmcv版本问题)

1. 论文和项目来源

paper:https://arxiv.org/pdf/2307.12101.pdf

code:https://github.com/ucas-vg/PointTinyBenchmark/tree/SSD-Det

2. 论文概述

3. 复现过程遇到的问题

首先,readme文件中有介绍的我就不详细说了。

3.1 成功的环境

克隆项目之后发现整个项目时基于openmmlab项目实现的,在所需要的环境中用到了mmcv和mmdet,也只需要这两个,但是由于整个项目使用的依赖比较老,所以版本适配问题时遇到的第一个问题,也是最重要的一个,首先,展示我成功运行的环境(仅一些主要的依赖):

Name                      Version
torch                     1.10.0+cu113          
torchvision               0.11.1+cu113
mmcv-full                 1.4.0            
mmdet                     3.1.0
CUDA	                  11.3

其他的依赖就按照最新版安装就好了(mmengine并不是刚需),他在运行的时候回重点检查mmcv-full的版本,显示的是mmcv-full>=1.3.5 and mmcv<=1.4.0,所以我的安装命令是:
pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
重点是cu110torch1.7.0这里需要改成自己机器的版本号,如果报错安装不了,那就是openmmlab并不支持与这个版本匹配的mmcv-full,具体可以看报错信息,里面会有详细讲解。

3.2 错误的环境

一开始,如果你直接使用pip install mmcv,那么程序是运行不起来的,就会报一些No module name 'mmcv.runner'等找不到模块的错误,但是明明环境已经安装了mmcv,这是因为默认安装的是最新2.0版本的mmcv,在mmcv官网中说明,2.0版本有了很大的改版,包括(详情见官网) :

OpenMMLab 团队于 2023 年 4 月 6 日发布 MMCV v2.0.0。在 2.x 版本中,它有以下重大变化:
(1)删除了以下组件:
mmcv.fileio 模块,删除于 PR #2179。在需要使用 FileIO 的地方使用 mmengine 中的 FileIO 模块;
mmcv.runner、mmcv.parallel、mmcv.engine 和 mmcv.device,删除于 PR #2216;
mmcv.utils 的所有类(例如 Config 和 Registry)和大部分函数,删除于 PR #2217,只保留少数和 mmcv 相关的函数;
mmcv.onnx、mmcv.tensorrt 模块以及相关的函数,删除于 PR #2225;
删除 MMCV 所有的根注册器并将类或者函数注册到 MMEngine 的根注册器;
(2)新增了 mmcv.transforms 数据变换模块;
(3)在 PR #2235 中将包名 mmcv 重命名为 mmcv-lite、 mmcv-full 重命名为 mmcv。此外,将环境变量 MMCV_WITH_OPS 的默认值从 0 改为 1。

所以项目代码中的import部分跟环境中的新版的依赖对不上,这就是要去费里找对应版本mmcv的原因。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值