深度学习之工具篇:TensorFlow安装

来源:互联网 发布:淘宝网登录首页官网 编辑:程序博客网 时间:2024/05/18 03:02

深度学习之工具篇: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`

此外,还需下载和安装:
1. CUDA Toolkit 8.0:直接去NVDIA官网下载。
2. cuDNN v5.1: 同样在NVDIA官网下载。
下载需要注册NVDIA的会员,不需要乱七八糟的验证,注册一个的好。

都下载好后先安装Toolkit,然后将cuDNN解压后的内容放在Toolkit安装路径下对应文件中,解压后有三个文件夹,里面各有一个文件,就不一一截图了。
注意此处有两个坑:
1. 下载的文件首先要对应你的操作系统,而且两者的版本最好选择文档中指出的版本。
2. Toolkit安装后,万一有个提示升级的,先不要升级,测试使用不正常后再重新安装选择升级。


Hello TensorFlow

由于GPU版本安装在了我办公电脑上,现在只用手边的笔记本展示一下普通的CPU版本TensorFlow安装后的基本用法,代码引用自TensorFlow中文社区。中文社区的代码有点旧,会有警告。

import tensorflow as tfimport 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]

MarkDown小学生,排版格式或者文章内容有任何建议请多指教。

原创粉丝点击