目錄
tensorflow開發基本流程:
(1)定義tensorflow輸入節點:
a.通過佔位符定義:
b.通過字典型別定義:
c.直接定義法:
(2)定義「學習引數」變數
a.直接定義:
b.字典定義
(3)定義「運算」
a.正向傳播模型
b.定義損失函式
(4)優化函式、優化目標
(5)初始化所有變數
(6)迭代更新引數到最優解
(7)測試模型
(8)使用模型
使用tf.placeholder函式:
x = tf.placeholder("float")
y = tf.placeholder("float")
與a.方法比較類似,只不過是堆疊到一起。
inputdict =
很少用
類似於輸入的定義,分為a.直接定義和b.字典定義。由於深度神經網路中,引數過多,普遍使用b.方法。
w = tf.variable(tf.random.normal([1]), name="weight")
b = tf.variable(tf.zeros([1]), name="biases")
與直接定義相比,字典定義只不過是堆疊到了一起
paradict =
建模的核心過程,決定模型擬合效果。
單神經元、多層神經網路、卷積神經網路、迴圈神經網路等,均是由神經元以不同的組合方式組成的網路結構。
#----------------------------------正向搭建模型----------------------------------
#建立模型
#佔位符
x = tf.placeholder("float")
y = tf.placeholder("float")
#模型引數權重和偏執
w = tf.variable(tf.random.normal([1]), name="weight")
b = tf.variable(tf.zeros([1]), name="biases")
#向前結構
z = tf.multiply(x, w)+b
損失函式主要是定義「輸出值」和目標值 之間的誤差,是配合反向傳播使用。為在反向傳播時找到最小值,損失函式必須可導。
只需記住幾種常用的損失函式,不需要掌握太多細節。
tensorflow損失函式專題見此鏈結(
在定義好正向傳播函式和損失函式後,通過優化函式和優化目標對學習引數進行優化,此過程在反向傳播中進行。
只需記住幾種常用方法即可。鏈結(
只有一句**,但很重要。
init = tf.global_variables_initializer()
with tf.session() as sess:
sess.run(init)
必須在所有變數和op定義之後進行!
在迭代訓練環節,需要通過建立乙個session來完成,常用with語法,可以在session結束後自動關閉。
with tf.session() as sess:
並非神經網路的核心環節,並沒有太多技術含量。
參考文獻:深度學習之tenforflow入門、原理與高階實戰
TensorFlow基本用法
author youngkl coding utf 8 import tensorflow as tf 1 2的矩陣 mat1 tf.constant 3.3.2 1的矩陣 mat2 tf.constant 2.3.ans tf.matmul mat1,mat2 此時ans無法直接輸出 啟動預設圖 ...
Tensorflow基本使用
使用 tensorflow,你必須明白 tensorflow tensorflow 是乙個程式設計系統,使用圖來表示計算任務.圖中的節點被稱之為 op operation 的縮寫 乙個 op 獲得 0 個或多個tensor,執行計算,產生 0 個或多個tensor.每個 tensor 是乙個型別化的...
Tensorflow基本操作
tensorflow常量變數定義 import cv2 import tensorflow as tf data1 tf.constant 2,dtype tf.int32 data2 tf.variable 10,name var sess tf.session print sess.run da...