conda 虚拟环境下 python 3.8 + pytorch 1.8 + cuda11 安装detectron2库
给的代码需要1.8的pytorch,相应的cudatoolkit是11.1的,但服务器上已经装的cuda各种运行库的版本是12的,在装detectron时报错装不下去,因此尝试在conda环境中安装11版本的nvcc等运行库,最终成功安装。然而conda又搜不到6的gcc,于是装了8.5.0,结果就没有关于gcc的报错了。提示的是gcc不能大于6,但我装了5.4.0又有其它的报错。因为我一开始都是
给的代码需要1.8的pytorch,相应的cudatoolkit是11.1的,但服务器上已经装的cuda各种运行库的版本是12的,在装detectron时报错装不下去,因此尝试在conda环境中安装11版本的nvcc等运行库,最终成功安装。
后面重新装的时候conda软件源的顺序会导致安装失败,我按下面的软件源安装就正常,但之后把pkgs/main放到最前面结果就报错了,很奇怪。对比conda list有些包的版本不一样了,有些包的源也不一样,试着改包的版本,但没效果,后来调整了源之后重新再装过就正常了。
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-lts
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://repo.anaconda.com/pkgs/main
- https://repo.anaconda.com/pkgs/r
需要安装的库如下:
conda create -n detic python=3.8.19
conda install pytorch==1.8.0 torchvision==0.9.0 cudatoolkit=11.1
conda install gcc=8.5.0 gxx=8.5.0 cuda-nvcc=11 cuda-cccl=11 \
cuda-cudart=11 cuda-cudart-dev=11 libcublas=11 libcublas-dev=11\
libcusparse-dev=12 libcusolver-dev=11 libnvjitlink-dev=12 -c nvidia
我装好这些库就能够成功编译安装detectron2库了。
下面是编译detectron库碰到的报错,以及找到的需要安装的相应库(没有完整的记录,只是事后回忆,不一定准确):
一、gcc版本错误
gcc versions later than 6 are not supported!
conda install gcc=8.5.0 gxx=8.5.0
提示的是gcc不能大于6,但我装了5.4.0又有其它的报错。
然而conda又搜不到6的gcc,于是装了8.5.0,结果就没有关于gcc的报错了。
gcc和g++版本得匹配,conda装gcc时不会自动装g++。
g++原来用gxx来表示了。
二、找不到头文件或链接库
一般找不到就搜对应的包安装就可以了。
cc1plus: fatal error: cuda_runtime.h: No such file or directory
conda install cuda-cudart=11 cuda-cudart-dev=11 -c nvidia
nvcc fatal : Unknown option '-generate-dependencies-with-compile'
conda install cuda-nvcc=11 -c nvidia ##这个不确定,但如果提示的是调用nvcc时出的问题,应该是版本不对吧。
ImportError: libnvJitLink.so.12: cannot open shared object file
conda install libnvjitlink-dev=12 -c nvidia
fatal error: cublas_v2.h: No such file or directory
conda install libcublas=11 libcublas-dev=11 -c nvidia
fatal error: cusparse.h: No such file or directory
ImportError: libcusparse.so.12: cannot open shared object file: No such file or directory
conda install libcusparse-dev=12 -c nvidia
因为我一开始都是默认装11的,然后11的没有libcusparse.so.12,然后我就装12的,然后又会把libcusparse.so.11给删掉,导致又提示11的没有。于是只能自己到目录里添加软链接。
cd ~/.conda/envs/det/lib/ ##det换成自己的conda虚拟环境的名字
ln -s libcusparse.so.11.3.0.10 libcusparse.so.11
其实直接先装12的包可能就没有问题了。
可能有方法可以一次过完整装完所有需要的库,只是我没找到。
最后列一下conda下安装的相关库(应该就这些吧?)。
python 3.8.19 hd12c33a_0_cpython https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
cuda-cccl 11.8.89 0 nvidia
cuda-cudart 11.8.89 0 nvidia
cuda-cudart-dev 11.8.89 0 nvidia
cuda-nvcc 11.8.89 0 nvidia
libcublas 11.11.3.6 0 nvidia
libcublas-dev 11.11.3.6 0 nvidia
libcusolver 11.6.1.9 0 nvidia
libcusolver-dev 11.6.1.9 0 nvidia
libcusparse 12.3.1.170 0 nvidia
libcusparse-dev 12.3.1.170 0 nvidia
libnvjitlink 12.4.127 0 nvidia
libnvjitlink-dev 12.4.127 0 nvidia
cudatoolkit 11.1.1 hb139c0e_13 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
gcc 8.5.0 h143be6b_10 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
gcc_impl_linux-64 8.5.0 hef569ad_19 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
gxx 8.5.0 h143be6b_10 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
gxx_impl_linux-64 8.5.0 hef569ad_19 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgcc-devel_linux-64 8.5.0 ha5d7ed8_19 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libstdcxx-devel_linux-64 8.5.0 ha5d7ed8_19 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐
所有评论(0)