深度學習筆記 TensorFlow 思想

2021-09-17 18:33:13 字數 1529 閱讀 4296

在進行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,預算操作可以有自己...