使用detectron2过程中遇到如题报错,错误详细信息如下:

The detected CUDA version (9.1) mismatches the version that was used to compile PyTorch (11.3). Please make sure to use the same CUDA versions.

查阅资料时,发现https://github.com/facebookresearch/detectron2/issues/4343#issuecomment-1229448546中提到了问题原因,是因为cuda版本的问题。

在csdn的华为开发者博客中找到了更详细的解释。

nvcc -V 与 nvidia-smi显示的cuda版本不一致问题原因及解决途径

CUDA有两个主要的API:runtime(运行时) API和driver API。这两个API都有对应的CUDA版本(如9.0和11.1等)。

用于支持driver API的必要文件(如libcuda.so)是由GPU driver installer安装的。nvidia-smi就属于这一类API。
用于支持runtime API的必要文件(如libcudart.so以及nvcc)是由CUDA Toolkit installer安装的。(CUDA Toolkit Installer有时可能会集成了GPU driver Installer)。nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本。它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。
综上,如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。

但实际上我确实只装了cuda,所以判断是路径问题。

https://huaweicloud.csdn.net/638071e7dacf622b8df884df.html

解决方法:在~/.bashrc当中添加

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