參考tensorflow社區(qū)2.3
一滞诺、數(shù)據(jù)預(yù)處理
將數(shù)據(jù)處理成可以直接被接收運用的樣子。
二于微、對接收傳入數(shù)據(jù)的變量進行占位操作
比如x蹋嵌,y接收傳入的數(shù)據(jù)育瓜,那么就先placeholder
x = tf.placeholder("float", [None, 784])
y_ = tf.placeholder("float", [None,10])
這樣做的好處在于,可以接收一部分的數(shù)據(jù)進行運算栽烂,而不用一次計算所有的數(shù)據(jù)
三躏仇、對于需要學(xué)習(xí)的參數(shù),用variable變量來事先定義好腺办,表示可以被修改的張量
W = tf.Variable(tf.zeros([784,10])) #輸入x.shape = (None,784)
b = tf.Variable(tf.zeros([10]))
四焰手、實現(xiàn)模型
1、將預(yù)測的模型(即預(yù)測值y’的表達式)用tf表示出來
比如:y = tf.nn.softmax(tf.matmul(x,W) + b)
2怀喉、將損失函數(shù)表示出來(即預(yù)測值y’和真實值y之間的誤差關(guān)系)
3书妻、選擇優(yōu)化方法進行優(yōu)化(即把損失函數(shù)傳入優(yōu)化函數(shù)中)
五、訓(xùn)練模型
1躬拢、定義變量初始化的操作(init)
2躲履、在一個會話(session)中啟動模型,并初始化變量
sess.run(init)
3估灿、訓(xùn)練模型崇呵,for (1000), sess.run(train馅袁,feed_dict{域慷,,汗销,})
六犹褒、評估模型
不同問題有不同的評估方法,最終還是用feed_dict將測試集的數(shù)據(jù)x和標簽y傳入弛针。(也能表現(xiàn)出占位符的好處)