EUAdvancer

Ubuntu 16.04桌面版使用笔记-安装GPU版Tensorflow+PyTorch

bg
Linux 下的 GPU 环境比较复杂,而深度学习的训练十分依赖于 GPU ,这里介绍比较主流的深度学习框架 TensorflowPyTorchGPU 版的配置

安装GPU加速

这一块是最重要也是最复杂的一块,任何深度学习框架使用 GPU 都需要先搭好环境

安装Nvidia驱动

  1. super 键下输入 additional drivers 打开附加驱动
  2. 系统会自动搜索 N 卡驱动,列表里会提供对应你显卡的最新版官方驱动例如我的显卡是 GTX 860M ,选择第一项375.66即可,点击重启即可

安装Cuda8.0

  1. 下载 Cuda8.0

    cuda

  2. 安装 Cuda8.0

    1
    2
    3
    $ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
    $ sudo apt-get update
    $ sudo apt-get install cuda
  3. 显示显卡信息

    1
    $ nvidia-smi
  4. 配置环境变量

    1. 打开 ~/.bash_profile (没有则创建),在打开的文件末尾加入

      1
      2
      export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
      export CUDA_HOME=/usr/local/cuda
    2. 使更改的环境变量生效

      1
      $ source ~/.bash_profile

    如果 gcc 版本大于5.0则需要降版本( cuda8.0 不支持 5.0 以上,如果版本大于 5.0 则需要降级到 4.9 )

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ gcc -v   

    $ sudo apt-get install g++-4.9
    $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
    $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
    $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
    $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
    $ sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
    $ sudo update-alternatives --set cc /usr/bin/gcc
    $ sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
    $ sudo update-alternatives --set c++ /usr/bin/g++

    $ gcc -v

安装Cudda5.1

  1. 下载 cudda5.1 for linux

  2. cudda 文件放入 cuda toolkit 文件

    1
    2
    3
    4
    $ tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz
    $ sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
    $ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
    $ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
  3. 更新配置

    1
    $ sudo ldconfig -v

安装GPU版Tensorflow

1
2
3
$ sudo apt-get install libcupti-dev  # https://www.tensorflow.org/install/install_linux 新版本GPU版本需要
$ workon py3 # 激活虚拟环境
$ pip install --upgrade tensorflow-gpu

测试:

1
2
3
4
5
6
7
8
$ workon py3
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

Hello, TensorFlow!

安装GPU版PyTorch

首先在 官网 选择合适的 PyTorch 版本,包括 python 版本的选择,CUDA 的选择等。这里选择 Python3.5+CUDA8.0

1
2
3
$ workon py3
$ pip install http://download.pytorch.org/whl/cu80/torch-0.1.12.post2-cp35-cp35m-linux_x86_64.whl
$ pip install torchvision

测试:

1
2
3
4
5
6
7
8
9
10
11
12
$ workon py3
$ python
>>> import torch
>>> x = torch.Tensor(5, 3)
>>> print(x)

-2.0934e-09 4.5601e-41 -2.0934e-09
4.5601e-41 4.1312e-05 1.4073e+19
3.2853e+03 4.7677e-02 2.0423e+02
2.1111e+08 2.9791e-03 2.2326e+02
1.2769e+01 1.8927e+02 1.4073e+19
[torch.FloatTensor of size 5x3]