Ubuntu16.04配置深度学习环境




本文作为个人对整个深度学习环境配置的梳理记录,仅供参考学习,部分操作摘自其它文章,所有引用博客均已在文章尾部标出


1. 确定tensorflow-gpu版本与CUDA和cuDNN版本对应关系1

根据以下文档中确认需要安装的版本对应关系:
在这里插入图片描述


2. 安装CUDA9.02

  1. 下载安装文件。首先去英伟达官网下载CUDA安装包:https://developer.nvidia.com/cuda-toolkit-archive
    在这里插入图片描述

按照系统配置选择安装包,据说用deb文件安装容易出错,所以直接下载runfile(后缀为.run)文件来安装,例如我想安装cuda9.0,且我的操作系统为Ubuntu16.04,所以我按照下图选择安装包:
在这里插入图片描述

  1. 安装cuda
sudo sh cuda_9.0.176_384.81_linux.run

然后一直按回车键,直到服务条款显示到100%。接着按下面的步骤选择:

accept
n(不要安装driver)
y
y
y

安装完成后,设置环境变量。

  1. 设置环境变量
    打开主目录下的 .bashrc文件添加如下路径:

gedit ~/.bashrc    #打开.bashrc文件


#添加路径

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

export PATH=$PATH:/usr/local/cuda/bin

export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

终端运行:


source ~/.bashrc #更新前边所做的环境配置

检查:使用命令:nvcc --version,如果显示下面的文字就说明安装成功了
在这里插入图片描述


3. cudnn的安装2

  1. 下载安装文件

按要求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive

  1. 安装cudnn

解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:


sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

  1. 查看cudnn版本
    在终端输入:
sudo cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

如果出现下图所示版本信息,说明安装成功。
在这里插入图片描述


4. 安装显卡驱动3

  1. 去官网查询并下载对应的.run文件。首先查询自己的显卡型号,在终端输入:lspci | grep -i vga,我的是 gtx1080Ti ,下载的是 NVIDIA-Linux-x86_64-455.45.01.run。

  2. 使用以下指令卸载旧驱动:

sudo apt-get purge nvidia* 
  1. 禁用自带的nouveau驱动:使用指令:sudo gedit /etc/modprobe.d/blacklist-nouveau.conf 在弹出的文件最后添加下列两个语句:
blacklist nouveau
options nouveau modeset=0
  1. 终端执行命令:sudo update-initramfs -u ,然后重启,打开终端输入命令:lsmod | grep nouveau 屏幕没有输出表示禁用成功。

  2. 禁用X-Window服务。执行命令:sudo service lightdm stop 这个时候会进入"黑屏"模式,卧槽,黑屏了,但是不要担心,按照步骤来,现在按下 Ctrl+Alt+F1 进入终端编辑模式。然后cd到NVIDIA-Linux-x86_64-455.45.01.run存放的路径,NVIDIA-Linux-x86_64-455.45.01.run文件存在 “Downloads” 文件夹中。

  3. 修改 NVIDIA-Linux-x86_64-455.45.01.run 文件权限。执行命令 chmod a+x NVIDIA-Linux-x86_64-455.45.01.run

  4. 安装。执行命令 sudo ./NVIDIA-Linux-x86_64-455.45.01.run –no-opengl-files

在安装驱动的时候,有一步问你”Would you like to run the nvidia-xconfig utility to automatically update your X configuration file…”什么的,选择 No。整个安装过程就是全都enter下去

  1. 安装完成。 使用命令:sudo service lightdm start 退出黑屏模式

  2. 测试:在终端执行命令:nvidia-smi 若出现GPU的信息列表,表示驱动安装成功。


5. 安装anaconda3

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。

  1. 去清华大学软件镜像站下载anaconda3的安装包。https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载好后应该在~/Downloads/文件夹,我下载的版本是:Anaconda3-2020.07-Linux-x86_64.sh。
  2. 然后安装anaconda
bash ~/Downloads/Anaconda3-2020.07-Linux-x86_64.sh

anaconda会自动将环境变量添加到PATH里面,如果后面你发现输出conda提示没有该命令,那么你需要执行命令source ~/.bashrc 更新环境变量,就可以正常使用了。 如果发现这样还是没用,那么需要添加环境变量。 编辑~/.bashrc 文件,在最后面加上

export PATH=/home/song/anaconda3/bin:$PATH

退出后执行source ~/.bashrc命令刷新环境配置,再次输入conda list,应该就没问题,就会显示下面一系列东西:
在这里插入图片描述

  1. 添加anaconda国内镜像配置
    清华tuna提供了anaconda仓库的镜像,anaconda可以从这些镜像中下载东西,用运行以下命令添加配置:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

6. 使用anaconda安装tensorflow

  1. 创建tensorflow环境,环境名字可自己确定,这里本人使用tf作为环境名:

conda create -n tf python=2.7

  1. 安装成功后激活tf环境:

source activate tf

  1. 在所创建的tf环境下安装tensorflow的gpu版本,执行命令:

conda install tensorflow-gpu=1.12.0

  1. 使用gedit ~/.bashrc命令进入~/.bashrc文件,并且编辑~/.bashrc文件,设置使用tf环境下的python2.7如下:

alias python='/home/song/anaconda3/envs/tf/bin/python2.7'

这是具体的修改内容

  1. 保存后退出执行:source ~/.bashrc更新环境配置,该命令将自动回到base环境,再执行source activate tf到tf环境。
  2. 检查tensorflow是否可用。在tf环境下输入python可以看到python版本为2.7,在python下导入tensorflowimport tensorflow as tf,查看tensorflow版本:tf.__version__,检查gpu是否可用:tf.test.is_gpu_available(),若显示True,则gpu可用。整个操作过程如下图:
    在这里插入图片描述

7. 安装必要的软件和库

安装h5py:

pip install h5py -i https://pypi.tuna.tsinghua.edu.cn/simple

到此处基本的一些安装已经完成


  1. https://blog.csdn.net/sunmingyang1987/article/details/102872658?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161512000116780269821736%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161512000116780269821736&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-2-102872658.first_rank_v2_pc_rank_v29&utm_term=gpu%E5%92%8Ccuda%E4%B8%8D%E8%83%BD%E7%94%A8 ↩︎

  2. https://blog.csdn.net/wanzhen4330/article/details/81699769?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161512546516780269851280%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161512546516780269851280&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-6-81699769.first_rank_v2_pc_rank_v29&utm_term=ubuntu16.04%E4%B8%8B%E5%AE%89%E8%A3%85cuda%E5%92%8Ccudnn%E7%9A%84%E4%B8%89%E7%A7%8D%E6%96%B9%E6%B3%95 ↩︎ ↩︎

  3. https://blog.csdn.net/Li_haiyu/article/details/84502831?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522160980513816780273374671%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=160980513816780273374671&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-2-84502831.first_rank_v2_pc_rank_v29&utm_term=%E5%8D%A7%E6%A7%BD%EF%BC%8C%E9%BB%91%E5%B1%8F%E4%BA%86%EF%BC%8C%E4%BD%86%E6%98%AF%E4%B8%8D%E8%A6%81%E6%8B%85%E5%BF%83 ↩︎

Logo

更多推荐