搭建深度学习硬件环境

Table of Contents

硬件环境配置

学习深度学习需要GPU计算环境,Macbook Pro没法满足条件,因此重新配置专门用于深度学习的台式机;

网上也有各种深度学习机器配置的文章,为什么还要再写这样的文章呢?主要目的是记录自 己学习的过程,以及在这个过程中学到的内容

硬件配置清单

  1. 华硕 z170 pro gamming的主板;
  2. 英特尔i5 7600k,接口类型LGA 1151,可以超频;
  3. 内存条使用的是金士顿Fury系列16G DDR4;
  4. 技嘉(GIGABYTE) GTX1070 G1 GAMING 1594-1784MHz/8008MHz 8G/256bit GDDR5显卡;
  5. 三星(SAMSUNG) 850 EVO 250G SATA3 固态硬盘;
  6. 爱国者(aigo) YOGO优果 黑色 中塔式机箱;
  7. 航嘉(Huntkey)额定600W MVP600模组游戏电源;

整个硬件的总花费为8800元左右,因为主要用于GPU计算,因此没有配置显示;

踩坑指南: 华硕Z170 Pro Gamming部分主板BIOS在出厂时候的版本还不支持7代CPU,需要刷 BIOS才能成功点亮;

软件配置

我一直是Arch Linux的忠实粉丝,但是为了便于安装显卡驱动和cuda开发套件,选择了 ubuntu 16.04;

安装openssl-server

首先配置sshd,以便在MBP上用SSH登陆。为了成功登陆到主机,要保证网络都是连接好的, 特别是wifi有时会不稳定,设置成自动连接的模式会比较好;在windows上可以使用putty 来访问,mac上直接使用ssh命令远程连接即可。

Cuda安装

如果系统已经安装了英伟达的显卡驱动,重新安装前需要删除之前的显卡驱动,然后再安装新的显卡驱动;

sudo apt-get purge nvidia-*
sudo apt-get autoremove

下载CUDA 8.0 RC,选择下载runfile(local)的版本,如果是在命令行下面,可以使用wget 命令下载。 安装cuda:

  1. 如果在图形界面下,需要按住ctrl+alt+F2进入到terminal窗口:
  2. 关闭kightdm:

    sudo service lightdm stop 
    
  3. 创建文件/etc/modprobe.d/blacklist-nouveau.conf,写入以下内容:

    blacklist nouveau
    options nouveau modeset=0
    
  4. 按照提示安装好cuda:

    sudo sh cuda_8.0.61_375.26_linux.run
    

安装完成后添加路径到~/.bashrc中:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

执行nvcc -V命令:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

安装显卡驱动

执行下面的命令添加驱动源,然后安装gtx 1070的显卡驱动。

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo reboot

重启之后执行nvidia-smi会看到以下输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66                 Driver Version: 375.66                    |
|-------------------------------|----------------------|----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1070    Off  | 0000:01:00.0     Off |                  N/A |
|  0%   45C    P0    37W / 180W |      0MiB /  8112MiB |      0%      Default |
+-------------------------------|----------------------|----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

安装tensorflow

安装好tensorflow之后,如果在import的时候出现libcudnn.so.5无法找到,按照以下步骤解决问题:

  1. 注册nvidia开发者账号,下载cudnn包,选择5.x的最新版;
  2. 检查cuda的安装位置: which nvcc, 一般安装位置在/usr/local/cuda-8.0;
  3. 解压下载好的cudnn包,将解压后文件夹内的文件拷贝到cuda对应的目录中,比如在我机 器上可以使用以下命令:
cp include/cudnn.h /user/local/include/
cp lib64/* /user/local/lib64/