在進行tensorflow程式設計時一定要按照規則來進行,tensorflow程式中包含兩部分:
如下圖所示:
解釋
例子
實現矩陣乘法y = w*x
w =[[
3.0,
5.5],[
1.0,
7.7]
]; x =
[1.0
,1.0
]
實現如下:
import tensorflow as tf
###--
---必須先構建計算圖(y=w*x)--
----
---###
graph1 = tf.
graph
() #定義圖graph1
with graph1.
as_default()
: #指定圖 graph1為預設圖
w = tf.
variable([
[3.0
,2.5],
[1.0
,2.7]]
) #圖中邊variabel的定義
x = tf.
constant
(1.0
,shape=[1
,2]) #圖中邊x_tensor的生成
y = tf.
matmul
(w,tf.
transpose
(x)) #節點:變數的乘法和轉置操作(operation)
init_op = tf.
global_variables_initializer
() #節點: variable的initialize_operation
###--
----建好的計算圖放在乙個sesstion中執行--
----
-###
with tf.
session
(graph=graph1) as sess: # 開啟session,把graph1新增到缺省會話sess中
sess.
run(init_op) # 執行init_op操作,此時tf.matmul並沒有run
print
(sess.
run(y)
) # 在會話中執行tf.matmul操作, 列印y_tensor
注:
-張量(tensor):多維陣列,類似於 numpy 中的 narray
深度學習筆記
在深度神經網路中,通常使用一種叫修正線性單元 rectified linear unit,relu 作為神經元的啟用函式。relu函式其實是分段線性函式,把所有的負值都變為0,而正值不變,這種操作被成為單側抑制。可別小看這個簡單的操作,正因為有了這單側抑制,才使得神經網路中的神經元也具有了稀疏啟用性...
深度學習筆記
如果沒有啟用函式,或則是線性啟用函式,g z z,那麼在深度神經網路中,相當於都做的是線性變換,多個線性變換的組合還是線性變換。這樣的結果和邏輯回歸沒什麼區別,也就是說,這種情況下,無論神經網路的深度有多深,也就等價於乙個一層的網路,隱藏層沒什麼作用。因此需要非線性啟用函式。1.什麼時候插入,ski...
深度學習筆記
tensorflow 不僅是乙個實現機器學習演算法的介面,也是一種框架,也可用於線性回歸 邏輯回歸 隨機森林等演算法 tensorflow 使用資料流圖來規劃計算流程,每個運算操作作為乙個節點 node,節點之間的連線稱為邊,邊中流動的資料稱為張量,故而得名 tensorflow,預算操作可以有自己...