Roreg复现

一、roreg复现

[github链接][参考]

1.1 报错1

Traceback (most recent call last):
  File "setup.py", line 52, in <module>
    import torch
  File "/home/w/anaconda3/envs/pty_roreg/lib/python3.7/site-packages/torch/__init__.py", line 189, in <module>
    _load_global_deps()
  File "/home/w/anaconda3/envs/pty_roreg/lib/python3.7/site-packages/torch/__init__.py", line 142, in _load_global_deps
    ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
  File "/home/w/anaconda3/envs/pty_roreg/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/w/anaconda3/envs/pty_roreg/lib/python3.7/site-packages/torch/lib/../../../../libcublas.so.11: undefined symbol: free_gemm_select, version libcublasLt.so.11

CUDA和cuDNN版本与PyTorch版本兼容问题:

查看linux系统使用的cuda版本[参考]:    gedit ~/.bashrc

linux支持多版本cuda,如需切换cuda版本,查看/usr/local/下有那些版本,然后按上面格式修改bashrc,然后 source ~./bashrc刷新环境

或者nvidia的cuda compiler driver版本信息 nvcc --version 

cuda 驱动是向下兼容的,如果你的驱动版本高,是兼容更低版本的 cuda toolkit 版本的[参考],那么我选择cudatoolkit时选择11.6以下的就可以,但是有人建议使用cuda11.1版本[MinkowskiEngine]

cuDNN与CUDA版本要对应
CUDA是NVIDIA推出的用于自家GPU的并行计算框架,

CUDA的本质是一个工具包(ToolKit)
cuDNN是一个SDK,是一个专门用于神经网络的加速包。

安装CUDA 11.1,实现多版本切换[参考],然后重新创建环境[参考][参考]

conda create -n roreg python=3.8
conda activate roreg


conda install pytorch=1.9.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia  #安装pytorch

pip install ninja  #官方文档没说,这里依赖还需要安装ninja库

conda install openblas-devel -c anaconda  #安装依赖



  cd utils/MinkowskiEngine
  export CUDA_HOME=/usr/local/cuda-11.1 #We have checked cuda-11.1.
  python setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas
  cd ../..

requirements.txt中有部分包已经在上面安装,所以手动安装requirements.txt中没有安装的包

猜你喜欢

转载自blog.csdn.net/peng_258/article/details/132868925