深度學習之工具篇:TensorFlow安裝

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章