大家都知道tensorflow是google開發的一款開源的深度學習編程框架,是當今最流行的深度學習開發框架,因此對有志於深度學習研究的小夥伴來說,tensorflow是當仁不讓的第一選擇。
首先看看tensorflow的安裝,其實非常簡單,在python環境安裝好的前提下,直接運行:
pip install tensorflow就可以了。
筆者用的是python3.5環境,tensorflow是1.4版本。
【問題1】如何加快pip安裝速率
在默認pip安裝的時候,國內的網絡下經常會報超時,這時有個很好的解決辦法就是將pip的目標庫改到國內的網址,怎麼改呢?只要設置pip.ini文件就可以了,筆者的pip.ini文件內容是這樣的:
[global]timeout = 60000index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]use-mirrors = truemirrors = https://pypi.tuna.tsinghua.edu.cn
這是連到清華的網站上了,然後將pip.ini放到C:\用戶\當前帳號\pip\目錄下就可以了。下面用pip install tensorflow,速度飛快啊!
2、基本使用
1、使用圖(graphs)來表示計算任務,用於搭建神經網絡的計算過程,但其只搭建網絡,不計算
2、在被稱之為會話(Session)的上下文(context)中執行圖
3、使用張量(tensor)表示數據,用「階」表示張量的維度。關於這一點需要展開一下
0階張量稱為標量,表示單獨的一個數
1階張量稱為向量, 表示一個一維數組
2階張量稱為矩陣,表示一個二維數組
……
張量是幾階的可以通過張量右邊的方括號數來判斷。例如 t = [ [ [ ] ] ],顯然這個為3階。
4、通過變量(Variable)維護狀態
5、使用feed和fetch可以為任意的操作賦值或者從其中獲取數據
tensorflow是一個編程系統,使用圖(graphs)來表示計算任務,圖(graphs)中的節點稱之為op(operation),一個op獲得0個或者多個tensor,執行計算,產生0個或多個tensor,tensor看作是一個n維的數組或列表。圖必須在會話(session)裡被啟動。
最簡單的例子:
import tensorflow as tf 創建兩個常量(constant)m1=tf.constant([[3,3]]) 兩行一列的矩陣 定義一個變量,這裡是張量的加減法,所以一維數組即可 a=tf.constant([3,3]) 增加一個減法op add=tf.add(x,sub) 在tensorflow中使用變量要初始化,此條語句也可以初始化多個變量 with tf.Session() as sess: sess.run(init) 使用placeholder()佔位,需要提供類型input2 = tf.placeholder(tf.float32)output = tf.multiply(input1,input2)with tf.Session() as sess: print(sess.run(output,feed_dict={input1:8.0,input2:2.0})) y = Wx + b, 初始化的時候隨便定義一個初始值 (2)定義神經網絡模型 linear_model = W*x + b 定義優化器optimizer optimizer = tf.train.GradientDescentOptimizer(0.01) train = optimizer.minimize(loss) 初始化Session init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) 評估準確率 curr_W, curr_b, curr_loss = sess.run([W, b, loss], {x: x_train, y: y_train}) print("W: %s b: %s loss: %s"%(curr_W, curr_b, curr_loss))
輸出結果:
W: [-1.0067805] b: [0.99450076] loss: 0.0024434922
這就是Tensorflow中線性模型的訓練方式,線性模型是tensorflow的入門磚,怎麼樣,是不是看起來很簡單。