记录Docker容器内安装cuda以及cudnn,以及避免出现以下报错undefined symbol:

安装cuda10.0

进入网址进行下载:cuda10.0
进入到存储文件的路径下,输入以下命令运行安装:

sudo sh cuda_10.0.130_410.48_linux.run 

按照提示输入,注意 第三个选项问是否安装NVIDIA Accelerated Graphics Driver驱动,选no。
完成后,按照同样的方式完成安装:

sudo sh cuda_10.0.130.1_linux.run 

添加环境变量

进入./bashrc文档进行编辑:

sudo vim ~/.bashrc

进入./bashrc文档,在文档最后加:

export CUDA_HOME=/usr/local/cuda
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda/lib64"

现在cuda10.0就安装完成了。

cat /usr/local/cuda/version.txt #查看cuda版本

cudnn7.6.0安装

cudnn下载网址:cudnn7.6.0
下载后发现是一个.solitairetheme8文件。
运行

mv cudnn-10.0-linux-x64-v7.6.0.64.solitairetheme8 cudnn-10.0-linux-x64-v7.6.0.64.tgz #转换为tgz压缩包

 
 

    执行

    tar -zxvf cudnn-10.0-linux-x64-v7.6.0.64.tgz #解压
    
     
     

      解压到cuda文件夹内
      运行以下命令,进行安装

      sudo cp ./include/cudnn.h /usr/local/cuda/include #执行即可,不需要做更改
      sudo cp ./lib64/libcudnn* /usr/local/cuda/lib64
      sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
      
       
       

        cudnn安装完成

        cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 #查看cudnn版本
        

        安装完成以后碰到下面问题undefined symbol:

        这是因为pytorch的版本与cuda的版本也需要匹配,使用nvcc查看cuda版本:

        nvcc -V
        
        nvcc: NVIDIA (R) Cuda compiler driver
        Copyright (c) 2005-2018 NVIDIA Corporation
        Built on Sat_Aug_25_21:08:01_CDT_2018
        Cuda compilation tools, release 10.0, V10.0.130
        

        再进入 python 看看 pytorch cuda 版本

        >>> torch.version.cuda
        '9.0.176'
        

        如果版本不一致需要卸载pytorch,安装合适的版本。

        pip uninstall pytorch #  conda uninstall pytorch, if you use conda
        

        或者重新安装cuda,但是安装以后要使用一下语句更新软连接

        sudo rm -f /usr/local/cuda # optional, only if you already have this symlink
        sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
        
        Logo

        权威|前沿|技术|干货|国内首个API全生命周期开发者社区

        更多推荐