来搭个环境 - TensorFlow

〇、阅读本文

阅读本文你能了解到
一、在 linux 平台搭建 TensorFlow 深度学习开发环境
二、在 win10 平台搭建 TensorFlow 深度学习开发环境

在开始学习 TensorFlow 的时候,是在 PyCharm 里直接用了 WinPython-64bit-3.5.4.0Qt5 这个版本,用 PyCharm 里的包管理安装了 CPU 版本的 TensorFlow。
这两天也没闲着,工作站又加了一块硬盘装上了 Linux:Ubuntu 16.04. 下面就总结一下在 Win10 和 Ubuntu 安装 GPU 版本的 TensorFlow 的方法。

一、Ubuntu 安装 tensorflow-gpu

  1. 安装 Anaconda3;
  2. 安装 CUDA;
  3. 解压 cuDNN;
  4. 在 Anaconda3 环境中安装 tensorflow.

在 Anaconda3 网站下载最新版本,这里 下载对应版本的软件(目前是Python 3.6 版本)。
下载好以后,打开终端,进入到文件所在的下载目录,基本应该是 Downloads 文件夹下,执行:

1
bash Anaconda3-5.1.0-Linux-x86_64.sh 

“yes” 确认安装,漫长等待以后,可以选择 “yes” 将 anaconda3 添加到 .bashrc 中,以后在终端中可以直接打开 anaconda3 的环境。

下面为了要使用 GPU 进行计算,要根据显卡安装相应计算工具软件。NVIDIA 的显卡是 CUDA,AMD 的是 OpenCL 。因为工作站是 N 卡,所以 N 卡的小伙伴们可以在这里下载 CUDA。
目前 TensorFlow 1.6.0 版本所要求的 CUDA 版本为 9.0,因此下载 9.0 版本。

下载完成后,同样打开终端到下载目录,执行:

1
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb 

解压以后,使用下面的命令安装所有依赖,然后安装 CUDA 工具包:

1
2
3
sudo apt install -f
sudo apt update
sudo apt install cuda

没有报错就证明安装完成了!然后在这里下载 cuDNN,首先要注册一个开发者的账号,登陆以后找到 “Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0”,需要下载 “cuDNN v7.0.5 Runtime Library for Ubuntu16.04 (Deb)” 和 “cuDNN v7.0.5 Developer Library for Ubuntu16.04 (Deb)”。

下载完成以后执行:

1
2
sudo dpkg -i libcudnn7_7.0.5.15_1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-1+cuda9.0_amd64.deb

然后将 CUDA 的文件添加到 .bashrc 文件中,类似于 windows 系统的环境变量,让系统能够找到我们刚安装的这些文件。执行下面的命令打开 .bashrc:

1
sudo gedit ~/.bashrc

在文件的末尾,添加下面的文本添加到文件末尾(注意到刚才添加的 anaconda3 了吗):

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

最后的步骤了,我们创建一个新的环境,来安装 GPU 支持的 Tensorflow,在终端中执行:

1
conda create -n tensorflow-gpu

这里的 “tensorflow-gpu” 是新建的环境名,可以换成别的任何名字。然后激活环境:

1
source activate tensorflow-gpu

在此环境中安装 TensorFlow(目前版本为1.6.0):

1
pip install tensorflow-gpu

耐心等待安装完成,我们进入 python ,检验一下是否成功安装:

1
>>> import tensorflow as tf

我得到了这样的警告:
“\Anaconda3\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.from ._conv import register_converters as _register_converters”
但只要没报错,就成功了。

二、Win10 安装 tensorflow-gpu

在 Win10 安装时使用 Anaconda 就与 Linux 下完全相似:

  1. 安装 Anaconda3;
  2. 安装 CUDA;
  3. 解压 cuDNN;
  4. 在 Anaconda3 环境中安装 tensorflow.

(科学上网的小伙伴可以借鉴这里的教程视频,比较直观,但视频中安装的是 8.0 版本的 CUDA,并提到 9.0 版本不好用,但想来已经挺久远了,现在的新版本 Tensorflow 还是要安装 CUDA 9.0 的)

下载安装 Anaconda(目前是Python 3.6 版本),安装完成后,新建一个名叫 tensorflow 的环境(也可以保持 base 环境中)。

依然在这里下载 CUDA 9.0,可以选择本地版本的安装包和网络版本的安装包两种,酌情选择。安装完成后,点这里下载 cuDNN,首先要注册一个开发者的账号,登陆以后找到 “Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0”,选择 “cuDNN v7.0.5 Library for Windows 10” 进行下载。完成后为了管理方便,将文件解压到 CUDA 的安装目录下即可。

接下来添加环境变量,在搜索中搜索 path,打开编辑环境变量。首先在系统变量中添加 CUDA_HOME 环境变量,值为 “\NVIDIA GPU Computing Toolkit\CUDA\v9.0”,这里的 “” 是你的安装位置,比如我的是 “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0”,图是我替小伙伴们装的 CUDA 8.0。

然后在系统变量 path 中添加
“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64”、
“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64”。

然后最后一步,在 Anaconda Prompt 中安装 tensorflow-gpu。激活刚刚新建的环境 tensorflow,或者留在 base 环境下,执行

1
pip install tensorflow-gpu

安装完成,进入 python ,测试是否安装成功,成功则如图所示(这里有一个警告):

1
>>> import tensorflow as tf

将环境配置到 PyCharm 跑一下前面写的卷积网络的代码,新配置的环境成功使用了 GPU 设备来计算,撒花!