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
假设由N*c*H*W的特征图得到N*C*H*W的特征图,对于batch norm和instance norm,通道方向上的每个(N,H,W)或(H,W)的均值都等于第
个卷积核对应的
,因此这两种norm不需要再设置conv.bias