今天分享一下本人在笔记本上配置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,之后我会再做补充的。
? 下载好后,我们进入安装界面:
? 这里,我们把两个都选上,第一个是加入环境变量,因为我之前安装过一次所以这里提示不要重复添加,第二个是默认的Python3.6,让后Install。
? 在完成Anaconda的安装后,我们打开Anaconda的命令行(最好用管理员身份运行,否则可能会有权限的问题):
? 我们可以看到一个和Windows命令行很像的一个窗口:
安装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
? 打开首先先解压:
? 这里我们选择自定义,因为我们只安装CUDA
? 只选择CUDA其他组件不安装,否则会安装失败
? 这里可能会提示你安装Visual Studio,忽略掉就好了
? 然后就开始安装了,等待安装结束就好了。
? 解压cudnn的压缩包里面有三个文件夹
? 把这三个文件夹复制到你cuda的安装目录下,我的地址是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
? 这样CUDA和CuDNN就安装好了。
创建TensorFlow环境
? 我们在刚刚打开的命令行里输入命令(conda的命令大家可以在这篇博客中找到http://blog.csdn.net/fyuanfena/article/details/52080270):
conda create -n tensorflow_gpu python=3.6
? 中间会让我们确认一下,输入个y回车就好了。安装好后会给我们提示用activate,和deactivate进行环境的切换。
? 我们先切换到创建好的环境中:
activate tensorflow_gpu
? 现在,基本环境已经配置好了,我们要安装一些重要的Python科学运算库,Anaconda已经为我们准备好的一系列常用的Python苦,例如numpy,pandas,matplotlib等等,所以我们只需要安装一次anaconda库就可以把这些库全部安装好。
conda install anaconda
? 可以看到,真的有好多常用库。
安装TensorFlow
? 之后就是我们最重要的一步,安装TensorFlow:
CPU版本
conda install tensorflow
GPU版本
conda install tensorflow-gpu
? 这样我们的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 主界面,如下所示:
如果想新建一个 notebook,只需要点击New
,选择你希望启动的 notebook 类型即可。
这里,因为我只有一个 Python 内核,所以我们运行一个 Python notebook。在新打开的标签页中,我们会看到 notebook 界面,目前里面什么也没有。
notebook 界面由以下部分组成:
- notebook 的名称
- 主工具栏,提供了保存、导出、重载 notebook,以及重启内核等选项
- 快捷键
- notebook 主要区域,包含了 notebook 的内容编辑区
慢慢熟悉这些菜单和选项。如果想要详细了解有关 notebook 或一些库的具体话题,可以使用菜单栏右侧的帮助菜单。
下方的主要区域,由被称为单元格的部分组成。每个 notebook 由多个单元格构成,而每个单元格又可以有不同的用途。
下方截图中看到的是一个代码单元格(code cell),以[ ]
开头。在这种类型的单元格中,可以输入任意代码并执行。例如,输入1 + 2
并按下Shift + Enter
。之后,单元格中的代码就会被计算,光标也会被移动动一个新的单元格中。你会得到如下结果:
根据绿色边框线,我们可以轻松地识别出当前工作的单元格。接下来,我们在第二个单元格中输入些其他代码,例如:
for i in range(5): print(i)
对上面的代码求值时,你会得到:
和前一个示例一样,代码被计算之后,马上就会显示结果。你应该注意到了,这次没有出现类似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))
- 1
- 2
- 3
- 4
? 恭喜,你的TensorFlow已经可以用了,接下来快搭建你自己的神经网络吧~!
如果在此时报错的话 把代码复制到下一行再运行就行了