#深度學習之工具篇: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]