解决 No module named ‘mmcv.cnn.weight_init‘的问题

前言:

之前1.0+版本mmdetection的时候,对于使用mmcv,需要git clone mmcv的库下来,然后pip到内置的package里。但是到了2.0版本的出现,安装mmdetection的时候就没有下面的步骤了
解决 No module named ‘mmcv.cnn.weight_init‘的问题_第1张图片
新版都放在requirements文件下统一的pip了,告别了git clone的环节
解决 No module named ‘mmcv.cnn.weight_init‘的问题_第2张图片

问题

由于最近任然需要在旧版本1.0上跑实验,所以又重新安装了mmdetection1.0版本,在安装mmcv的时候,(在mmcv文件下下)使用
pip install .,安装成功后,准备训练的时候出现了下面的错误:

 No module named 'mmcv.cnn.weight_init'

其实根本原因你下的mmcv版本和mmdetection版本不匹配,下的mmcv可能已经更新到了最新版了,博主我用git clone下来的版本是mmcv 1.0.5版本的,所以就报错咯

解决办法

查一下mmdetection需要什么版本的mmcv就行了,比如我使用的mmdetection1.0版本,对应的mmcv版本应该是0.4.3
方法一(博主使用的方法):

pip install mmcv==0.4.3

方法二(博主猜测应该也可以的方法):
到mmcv的官方github上,查看历史版本tag,把你需要的历史版本pull下来就行(想想就麻烦,还是算了)。
解决 No module named ‘mmcv.cnn.weight_init‘的问题_第3张图片
具体如何拉取历史版本呢??
还是用的

git clone https://github.com/open-mmlab/mmcv.git

然后在本地git tag查看一下所有的版本
然后用git checkout 你需要的版本,比如

git checkout v0.4.3

你可能感兴趣的:(安装,配置问题集锦)