MMDetection

0.RuntimeError: CUDA error: no kernel image is available for execution on the device

今天在3090上跑mmdetection的时候报了这个错,环境为cuda11.1、torch1.8.0+cu111、mmcv1.3.8,重装、换版本试了很多方法都一直报错,后来发现一篇文章跟我用的是同样的配置,报同样的错,torch改成1.7.1+cu110竟然就可以了???一脸懵逼。       

1.安装mmcv-full,每个版本的mmdetection都有对应的mmcv版本,不指定版本的话会自动安装最新的

pip install mmcv-full==1.2.4 -f https://download.openmmlab.com/mmcv/dist/cuda101/pytorch1.7.1/index.html

2.conv.bias和norm

Conv Module的bias参数,当Conv bias遇上Norm - 知乎上个月,我用OpenMMLab开源框架的MMDetection项目复现CenterNet2。在写检测第一阶段某段代码时,我发现按照CenterNet2源码的写法,MMDetection会给出一个友情提示(Warning):“ConvModule has norm and bias at …https://zhuanlan.zhihu.com/p/403444336

假设由N*c*H*W的特征图得到N*C*H*W的特征图,对于batch norm和instance norm,通道方向上的每个(N,H,W)或(H,W)的均值mean_{i}(1\leq _{i}\leq C)都等于第_{i}个卷积核对应的bias_{i},因此这两种norm不需要再设置conv.bias

MMDetection_第1张图片

你可能感兴趣的:(检测,PyTorch,目标检测)