MASKRCNN+3090显卡


原来的配置是torch171+cu110,CUDA11.0,2080显卡

换到3090显卡,代码不能跑,报错:RuntimeError: CUDA error: no kernel image is available for execution on the ...

换到11.1的cuda

1. 重新安装torch版本为180+cu111

2. 从nvidia官网https://developer.nvidia.com/cuda-11.1.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=runfilelocal下载11.1的CUDA。选runfile。进里面安装流程时不要选择安装驱动。

3. sudo gedit ~/.bashrc 更新下面三项为

export CUDA_HOME=/usr/local/cuda-11.1/
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin

SAVE之后 source ~/.bashrc

4. 重新编译apex,cd apex

pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

注意看每项编译消息的提示:[9/11] /usr/local/cuda-11.1/bin/nvcc ,注意nvcc的路径是在cuda-11.1而不是旧的11.0

5. 重新编译maskrcnn,cd maskrcnn

python setup.py build develop

OK

推理速度,3090大概比3080快25%

最后上述环境和重新编译后的apex和maskrcnn依然可以在2080上跑