yuantn / MI-AOD

Code for Multiple Instance Active Learning for Object Detection, CVPR 2021
https://openaccess.thecvf.com/content/CVPR2021/papers/Yuan_Multiple_Instance_Active_Learning_for_Object_Detection_CVPR_2021_paper.pdf
Apache License 2.0
333 stars 43 forks source link

配置环境包版本问题,希望得到您的帮助。 #54

Closed yushiyundelei closed 2 years ago

yushiyundelei commented 2 years ago

您好,我是一名在校研究生,想使用您的项目进行学习,配置了好久也没解决如下问题,麻烦您给解答十分感谢。因为我的电脑显卡版本太高了,只支持cuda11的版本,我试了试在cuda11的版本装不上mmcv-full=1.0.5,最低也要装1.3.8我的环境才能装上去,但是您的这个代码配置上需要cuda10.2 pytorch 1.6,而我的显卡最低支持的cuda是11及以上,然后我就用我装的mmcv-full=1.3.8 还有对应的mmdet也安装了兼容的版本,运行您的script.sh文件失败,显示需要mmcv-full=1.0.5。然后我又直接运行train.py文件(因为我安装的mmdet是较新版本)显示mmdet.api中找不到xxx运行错误。我试了好多再cuda11下能安装的对应兼容版本的mmcv-full都跑不了 1.最主要的问题是我想问一下这个代码只能在mmcv=1.0.5 以及mmdet=2.3.0上才能运行吗,我试了自己安装新版本的mmcv-full=1.3.8、1.3.18等以及网站中对应兼容的mmdet2.7.0等试了好几个版本,都没有运行成功。而我的GPU RTX A6000只支持cuda11系列这个代码可以在此环境下运行吗? 2.我看了下您的如果使用./script.sh运行依赖的是您在本项目下的mmdet=2.3.0的包,但是如果使用python tools/train.py运行的依赖却是虚拟环境下安装的mmdet,否则就报错显示找不到mmdet包,但其实项目里就已经有训练代码下所依赖的mmdet包我也进行了安装编译,还要在虚拟环境中再次安装一个mmdet是怎么回事呢

andrew-begain commented 2 years ago

@yushiyundelei 麻烦问下你的这个问题解决了吗?我应该也是遇到了和你一样的问题,现在还没有解决

yuantn commented 2 years ago

Hello,

  1. This repository is modified based on MMDetection v2.3.0, so mmdet==2.3.0 is required. According to its official instructions, you need to install mmcv-full>=1.0.5. But when MMDetection in this version was released, the version of mmcv should not be very high, so it can be mmcv-full==1.0.5.

If only run on CUDA, this repository is unavailable. But there is a more complicated alternative, which is to compare this repository with MMDetection v2.3.0 and update the changed part to the version of MMDetection you can run. Some code files that have been roughly modified in this code can be found in the Code Structure section.

  1. It is a distributed running when directly running ./script.sh, which can be applied on a single GPU or multiple GPUs. python tools/train.py can be only run on a single GPU. But both require the package mmdet==2.3.0. As for the problem of the different calling locations of the mmdet package that it depends on, I haven't figured it out yet. You can check MMDetection official for any explanation.

您好,

  1. 此代码是基于 MMDetection v2.3.0 的版本上修改的,因此 mmdet==2.3.0 是必须的。根据 其官方说明 ,需要安装 mmcv-full>=1.0.5,但发布此版本 MMDetection 时 mmcv 的版本应该也没有很高,所以基本可以认为需要 mmcv-full==1.0.5

如果只用 CUDA 11 运行的话,此代码不可运行。但有一个较复杂的可行的替代方案,是对此代码和 MMDetection v2.3.0 进行比较,把改动过的部分更新到你可以运行的 MMDetection 版本上。此代码中大致修改过的部分代码文件可以参见 代码结构 部分。

  1. 直接运行 ./script.sh 是以分布式运行,可适用于单卡或多卡。使用 python tools/train.py 只能在单卡上运行。但二者均需要 mmdet==2.3.0 的包。至于运行依赖的 mmdet 包调用位置不同的问题,我暂时也没有弄清楚。你可以看看 MMDetection 官方 有没有对此进行解释。