tensorflow的學習筆記–初步認識tensorflow
- 2020 年 1 月 21 日
- 筆記
幾個概念
TensorFlow是一個基於數據流編程(dataflow programming)的符號數學系統,被廣泛應用於各類機器學習(machine learning)演算法的編程實現,由Google公司開發並開源免費使用。
在接觸到的智慧機器中,我們都需要先輸入一段抽象的數據(語音,圖片等),然後機器識別結果,輸出我們想要的內容。
在機器誕生的前期,需要對機器進行訓練和學習,使他有能力去認識
識別的樣本,然後由樣本來預測其他的結果。
在tensorflow
中使用張量
代表數據(可以簡單理解為參數),使用計算圖來搭建神經網路,使用會話執行計算圖,優化對應的權重。
首先我們先介紹張量:
- 張量 多維數組和列表。對於不同維數的張量有不同的名稱和表示方法:
標量:
一個數字,比如:1,2,3向量:
一個數組,[1,2,3]矩陣:
二位數組,[[1,2],[1,3],[2,3]]張量:
多維數組
tensorflow
的數據的類型很多,與日常編程的數據類型也有點相似之處,先不一一介紹,先看看怎麼使用tensorflow
(使用pip命令安裝對應的依賴模組)
import tensorflow as ts a=ts.constant([1.0,2.0])# 定義常數 b=ts.constant([3.0,4.0]) result=a+b print(result)
列印結果:Tensor("add:0", shape=(2,), dtype=float32)
add
表示節點名 0
第0個輸出 shape
維度 (2,)
一維數組,長度為2 dtype
數據類型
從上面的列印結果可以看出,result
不是一個具體的結果,而是一個具體的計算過程。
簡單的模型
看一個簡單的數據模型

其中:Y=XW=w_1x_1+w_2x_2
具體使用tensorflow
實現程式碼如下:
import tensorflow as ts x=ts.constant([[1.0,2.0]])# 一行兩列 w=ts.constant([[3.0],[4.0]]) # 兩行一列 y=ts.matmul(x,w) print(y)
列印結果:Tensor("MatMul:0", shape=(1, 1), dtype=float32)
獲得運算結果
計算圖的值,需要用到sesion
,具體程式碼:
import tensorflow as ts x=ts.constant([[1.0,2.0]]) w=ts.constant([[3.0],[4.0]]) y=ts.matmul(x,w) with ts.Session() as sess: print(sess.run(y))
列印結果:[[11.]]
具體的執行過程是:(1.02.0)(3.04.0)=1∗3+2∗4=11