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,可以利於隨機梯度下降的實現。