Tensorflow筆記一
Tensorlfow中的計算是通過一個有向圖directed graph或則計算圖computation graph來實現的。
將每一個運算操作operation作為一個節點node,節點之間通過邊edge連接。
這個計算圖描述的數據計算流程用戶可以進行相關分支、循環、選擇。使用的語言是python、C++、java、Go等。
計算圖中每一個節點可以有多個輸入和輸出,每個節點只能描述一種運算操作。所以節點是運算操作的實例化(instance)。
在計算圖中傳遞(流動flow)的數據叫張量(tensor)
tensor的數據類型可以預先定義也可以根據計算圖的結構推斷得到,特殊情況下的依賴控制邊(control dependencies),他的功能是起始節點執行計算後再執行目標節點方便用戶進行條件控制,只要用在限制內存的高峰值。
import tenorlfow as tf
b = tf.Variable(tf.zeros([100])) #生成100維的向量初始化為0
w = tf.Veriable(tf.random_unifrom([784,100],-1,1) #生成784*100的隨機矩陣w
x = tf.placeholder(name = "x") #輸入的placeholder
relu = tf.nn.relu(tf.matmul(w,x)+b) #ReLU(Wx+b)
C = [. . .] #根據ReLU函數的結果計算Cost
s = tf.Seeion( )
for step in range(0,10):
input = . . .construct 100-D input arry . . .# 為輸入創建一個100維的向量
result = s. run(C,feed_dirc = {x: input}) #獲取Cost供給輸入x
print(step,result)
Tensorflow筆記一