#深度学习之工具篇:TensorFlow安装
##TensorFlow的安装
TensorFlow作为最优秀的深度学习工具库之一,尽管Keras为了简化使用做了很多包装,但直接学习TensorFlow能够帮助我们对各深度网络的结构和机制有更好了解。本文就来带大家安装TensorFlow。
前置技能:Python
TensorFlow的安装,首先建议大家参考其官方文档,对于阅读英文效率不高的同志,中文社区也许是开始阶段更好的选择。
####CPU版本
我在不同的系统下安装成功的最简单命令有:
-ThinkPad Ubuntu 16.04直接利用如下命令:
`pip install tensorflow`
-RMBP macOS Sierra命令相同
`pip install tensorflow`
mac下安装成功后,输出如下:
Successfully installed backports.weakref-1.0rc1 html5lib-0.9999999 markdown-2.6.8 protobuf-3.3.0 tensorflow-1.2.1
####GPU版本
首先pip安装命令需要替换为:
`pip install tensorflow-gpu`
此外,还需下载和安装:
都下载好后先安装Toolkit,然后将cuDNN解压后的内容放在Toolkit安装路径下对应文件中,解压后有三个文件夹,里面各有一个文件,就不一一截图了。
注意此处有两个坑:
- 下载的文件首先要对应你的操作系统,而且两者的版本最好选择文档中指出的版本。
- Toolkit安装后,万一有个提示升级的,先不要升级,测试使用不正常后再重新安装选择升级。
##Hello TensorFlow
由于GPU版本安装在了我办公电脑上,现在只用手边的笔记本展示一下普通的CPU版本TensorFlow安装后的基本用法,代码引用自TensorFlow中文社区。中文社区的代码有点旧,会有警告。
import tensorflow as tf
import numpy as np
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300
# 构造一个线性模型
#
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 初始化变量
init = tf.initialize_all_variables()
# 启动图 (graph)
sess = tf.Session()
sess.run(init)
# 拟合平面
for step in range(0, 201):
sess.run(train)
if step % 20 == 0:
print step, sess.run(W), sess.run(b)
# 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]
运行脚本,有如下输出则安装成功:
0 [[-0.01631272 0.15951681]] [ 0.80959636]
20 [[ 0.0363736 0.14110975]] [ 0.36356765]
40 [[ 0.08508397 0.18034831]] [ 0.3177135]
60 [[ 0.09653535 0.1935167 ]] [ 0.30503714]
80 [[ 0.09920579 0.19787826]] [ 0.30146033]
100 [[ 0.09982143 0.19930962]] [ 0.30043092]
120 [[ 0.09996103 0.19977632]] [ 0.30012915]
140 [[ 0.0999919 0.19992778]] [ 0.3000392]
160 [[ 0.09999846 0.19997674]] [ 0.30001205]
180 [[ 0.09999977 0.19999252]] [ 0.30000371]
200 [[ 0.09999999 0.19999759]] [ 0.30000117]