今天分享一下本人在笔记本上配置TensorFlow环境的过程。

说明

电脑配置:

  • Acer笔记本
  • CPU Inter Core i5-6200U
  • GPU NVIDIA GeForce 940M(忽略掉我的渣渣GPU)
  • Windows10

所需的环境:

  • Anaconda3(64bit)
  • CUDA-8.0
  • CuDNN-5.1
  • Python-3.6
  • TensorFlow 或者 TensorFlow-gpu

首先安装Anaconda3

我们从官网下载(https://www.anaconda.com/download/#windows),也可以使用我上传百度网盘的版本,链接:https://pan.baidu.com/s/1dGEC57z 密码:2om4 

使用Linux的小伙伴可以同样下载Linux版本的Anaconda,之后我会再做补充的。 

如何将tensorflow从cpu转到gpu_Python

下载好后,我们进入安装界面: 

如何将tensorflow从cpu转到gpu_CUDA_02

如何将tensorflow从cpu转到gpu_Python_03

如何将tensorflow从cpu转到gpu_Python_04

如何将tensorflow从cpu转到gpu_tensorflow_05

这里,我们把两个都选上,第一个是加入环境变量,因为我之前安装过一次所以这里提示不要重复添加,第二个是默认的Python3.6,让后Install。

如何将tensorflow从cpu转到gpu_tensorflow_06

在完成Anaconda的安装后,我们打开Anaconda的命令行(最好用管理员身份运行,否则可能会有权限的问题):

如何将tensorflow从cpu转到gpu_tensorflow_07

我们可以看到一个和Windows命令行很像的一个窗口:

如何将tensorflow从cpu转到gpu_Python_08

安装CUDA和CuDNN

这里为安装GPU版本的TensorFlow做准备,CPU版本可跳过此部分。

CUDA是NVIDIA推出的运算平台,CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案。虽然在之后用conda命令安装tensorflow-gpu时会自动安装cudatoolkit和cudnn,但是我总觉得自己安装一遍比较放心。

我所用的CUDA和CuDNN分享到百度网盘了,链接:https://pan.baidu.com/s/1dGEC57z 密码:2om4

先安装CUDA

打开首先先解压:

如何将tensorflow从cpu转到gpu_Python_09

如何将tensorflow从cpu转到gpu_Python_10

如何将tensorflow从cpu转到gpu_tensorflow_11

如何将tensorflow从cpu转到gpu_CUDA_12

如何将tensorflow从cpu转到gpu_Python_13

这里我们选择自定义,因为我们只安装CUDA

如何将tensorflow从cpu转到gpu_Python_14

只选择CUDA其他组件不安装,否则会安装失败

如何将tensorflow从cpu转到gpu_Python_15

如何将tensorflow从cpu转到gpu_tensorflow_16

这里可能会提示你安装Visual Studio,忽略掉就好了

如何将tensorflow从cpu转到gpu_Python_17

然后就开始安装了,等待安装结束就好了。

如何将tensorflow从cpu转到gpu_tensorflow_18

解压cudnn的压缩包里面有三个文件夹

如何将tensorflow从cpu转到gpu_CUDA_19

把这三个文件夹复制到你cuda的安装目录下,我的地址是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

如何将tensorflow从cpu转到gpu_CUDA_20

这样CUDA和CuDNN就安装好了。

创建TensorFlow环境

我们在刚刚打开的命令行里输入命令:

conda create -n tensorflow_gpu python=3.6

如何将tensorflow从cpu转到gpu_Python_21

中间会让我们确认一下,输入个y回车就好了。安装好后会给我们提示用activate,和deactivate进行环境的切换。

我们先切换到创建好的环境中:

activate tensorflow_gpu

现在,基本环境已经配置好了,我们要安装一些重要的Python科学运算库,Anaconda已经为我们准备好的一系列常用的Python苦,例如numpy,pandas,matplotlib等等,所以我们只需要安装一次anaconda库就可以把这些库全部安装好。

conda install anaconda

如何将tensorflow从cpu转到gpu_CUDA_22

可以看到,真的有好多常用库。

安装TensorFlow

之后就是我们最重要的一步,安装TensorFlow:

CPU版本

conda install tensorflow 

如何将tensorflow从cpu转到gpu_Python_23

GPU版本

conda install tensorflow-gpu

如何将tensorflow从cpu转到gpu_Python_24

这样我们的TensorFlow环境已经配置好了。

测试

最后,我们进入jupyter notebook(Anaconda自带的Python IDE,自我感觉挺好用的)输入一段官方文档录入的代码测试一下:

直接输入jupyter notebook,回车


运行上面的命令之后,你将看到类似下面这样的输出:


[I 20:06:36.367 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:06:36.813 NotebookApp] Serving notebooks from local directory: /home/your_username
[I 20:06:36.813 NotebookApp] 0 active kernels
[I 20:06:36.813 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 20:06:36.813 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).


同时,会在你开启 notebook 的文件夹中启动 Jupyter 主界面,如下所示:

如何将tensorflow从cpu转到gpu_CUDA_25

如果想新建一个 notebook,只需要点击New,选择你希望启动的 notebook 类型即可。

如何将tensorflow从cpu转到gpu_tensorflow_26

这里,因为我只有一个 Python 内核,所以我们运行一个 Python notebook。在新打开的标签页中,我们会看到 notebook 界面,目前里面什么也没有。

如何将tensorflow从cpu转到gpu_Python_27

notebook 界面由以下部分组成:

  1. notebook 的名称
  2. 主工具栏,提供了保存、导出、重载 notebook,以及重启内核等选项
  3. 快捷键
  4. notebook 主要区域,包含了 notebook 的内容编辑区

慢慢熟悉这些菜单和选项。如果想要详细了解有关 notebook 或一些库的具体话题,可以使用菜单栏右侧的帮助菜单。

下方的主要区域,由被称为单元格的部分组成。每个 notebook 由多个单元格构成,而每个单元格又可以有不同的用途。

下方截图中看到的是一个代码单元格(code cell),以[ ]开头。在这种类型的单元格中,可以输入任意代码并执行。例如,输入1 + 2并按下Shift + Enter。之后,单元格中的代码就会被计算,光标也会被移动动一个新的单元格中。你会得到如下结果:

如何将tensorflow从cpu转到gpu_CUDA_28

根据绿色边框线,我们可以轻松地识别出当前工作的单元格。接下来,我们在第二个单元格中输入些其他代码,例如:


for i in range(5): print(i)


对上面的代码求值时,你会得到:

如何将tensorflow从cpu转到gpu_CUDA_29

和前一个示例一样,代码被计算之后,马上就会显示结果。你应该注意到了,这次没有出现类似Out[2]这样的文字。这是因为我们将结果打印出来了,没有返回任何的值。

notebook 有一个非常有趣的特性,就是可以修改之前的单元格,对其重新计算,这样就可以更新整个文档了。试着把光标移回第一个单元格,并将1 + 2修改成2 + 3,然后按下Shift + Enter重新计算该单元格。你会发现结果马上就更新成了 5。如果你不想重新运行整个脚本,只想用不同的参数测试某个程式的话,这个特性显得尤其强大。不过,你也可以重新计算整个 notebook,只要点击Cell -> Run all即可。



import tensorflow as tf
hello = tf.constant('Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))


如何将tensorflow从cpu转到gpu_CUDA_30

恭喜,你的TensorFlow已经可以用了,接下来快搭建你自己的神经网络吧~! 
如果在此时报错的话  把代码复制到下一行再运行就行了