1. 程式人生 > >tensorflow——入門程式碼二(minist master)

tensorflow——入門程式碼二(minist master)

繼上篇,繼續視訊程式碼筆記。

一:placeholder(tensorflow)

具體不造有什麼用。

結果:

二:action function激勵函式(tensorflow)

(目前:我自己理解為:1.壓縮,使其值(啟用值)位於0到1之間;2.表示了模型的偏好(個人理解,總覺得他和偏置值有著類似的作用))

三:新增神經網路層(tensorflow)(函式)

其實如果看過神經網路視訊的,很容易理解程式碼。但是我自己畫圖:

和程式碼比較,我的輸入輸出和他是相反的(行列),有點不清楚了。因為我習慣matlab一樣的構造方式,所以此處有點疑惑。

四:神經網路 (繼上層程式碼)

參考網址:

(1)np.newaxis

(2)np.random.normal()

(3)reduce_sum()中reduction_indices(其實就是表示維度)

(4)place_holder中None再幹啥(其實就是為了表示,這是一個數,猜測是必須給定兩個維度,而用None表示其沒有這個維度)

程式碼:

(嗯,果然,一帆風順是不存在的)

(1)tensorflow各個版本間的坑

吐槽開始:mmp

首先,程式碼打完,執行報錯。

(1)經檢驗,float32和float64問題

照著部落格解決

但是會出現一個很奇怪的現象:

上圖為轉換前後

(2)報錯:

經定位:

這句話的問題。

最開始我以為是點乘和矩陣乘法的問題:

(2.1)點乘和矩陣乘法

(2.2)改完還是不對,理了一下思路,其實,inputs是一個[300,2],每一行為一個樣本,Weigths[1,10],而其運算一定矩陣乘法,所以,就是解決維度問題。

最噁心的坑:

對,沒錯,又回到最初的起點,意味著最初那個解決float64問題的方法是不對的.........我.....,此處先留存疑問,以後解決。

最最後,填以前的一個疑問,place_holder,可以利於隨機梯度下降的實現。