Tensorflow開發基本流程

2021-09-02 07:38:35 字數 1781 閱讀 7431

目錄

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...