tensorflow入門學習(五)

2021-09-17 04:59:53 字數 956 閱讀 2710

神經網路搭建的一般步驟

第一步:類別**

我們把向量化後的x和權重矩陣w相乘,加上偏置b,然後計算每個分類的softmax概率值。

predict = tf.nn.softmax(tf.matmul( x,w) + b)

第二步:計算損失

訓練過程指定最小化誤差用的損失函式

loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_logits(label = y, logits = predict))

第三步:訓練模型

優化器訓練模型

train_step = tf.train.gradientdescentoptimizer(0.2).minimize(loss)

第四步:評估模型

1、那麼我們的模型效能如何呢?

首先讓我們找出那些**正確的標籤。tf.argmax 是乙個非常有用的函式,它能給出某個tensor物件在某一維上的其資料最大值所在的索引值。由於標籤向量是由0,1組成,因此最大值1所在的索引位置就是類別標籤,比如tf.argmax(y,1)返回的是模型對於任一輸入x**到的標籤值,而 tf.argmax(y_,1) 代表正確的標籤,我們可以用 tf.equal 來檢測我們的**是否真實標籤匹配(索引位置一樣表示匹配)。

correct_predict = tf.equal(tf.argmax(predict, 1), tf.argmax(y, 1))

2、這裡返回乙個布林陣列。為了計算我們分類的準確率,我們將布林值轉換為浮點數來代表對、錯,然後取平均值。例如:[true, false, true, true]變為[1,0,1,1],計算出平均值為0.75。

accuracy = tf.reduce_mean(tf.cast(correct_predict,tf.float32))

第五步:初始化

init = tf.global_variables_initializer()

TensorFlow學習之路(五)

在前面四個章節中,我們已經成功構建好了影象以及 了結果 小小有些激動的我還是有些不爽,畢竟還是使用著資料集來進行的結果 誰知道是不是串通著來騙我的,emmm,那麼,今天我們自己手寫乙個數字進行檢測看看能不能通過我們訓練的模型檢測出來 首先我們先用一張a4紙寫乙個數字,寫正常點別龍飛鳳舞就行,我寫了個...

Tensorflow入門學習筆記

最近小半年一直在學習神經網路的相關知識,一直在瞎鼓搗,沒有系統的學習乙個神經網路框架,現在要寫 了,開始學習tensorflow。參考oschina的zhuyuping的blog,慢慢了解基礎知識。tensorflow tensor flow ndarray dag 有向圖把每乙個op連線起來,在乙...

tensorflow入門學習(二)

前言 tensorflow用張量這種資料結構來表示所有的資料。用一階張量來表示向量,如 v 1.2,2.3,3.5 如二階張量表示矩陣,如 m 1,2,3 4,5,6 7,8,9 可以看成是方括號巢狀的層數。一 fetch的用法 會話執行完成之後,如果我們想檢視會話執行的結果,就需要使用fetch來...