原创 用神經網絡生成fizzbuzz序列
沒錯,就是你聽過的那個fizzbuzz,3整除fizz,5整除buzz,同時整除fizzbuzz,現在用神經網絡來生成。 大體思路: 將自然數字序列作爲訓練數據,使用二進制形式(也就是one-hot形式) 將對應的fizzbuzz作爲
原创 python 動態數組 list 內存映射,leetcode 707,真鏈表能打敗假鏈表嗎?
爲什麼寫這個,我在leetcode刷題(leetcode 707 設計鏈表 Design Linked List),有個設計鏈表的題,還特意加了尾指針,也試過雙鏈表,結果時間上還是跑不過別人的直接用list去append和insert的
原创 手動實現卷積神經網絡中的卷積操作(conv2d)
寫這個的原因:一來好像沒怎麼搜到別人手動實現,作爲補充;二來鞏固一下基礎。 卷積操作示意 先從一張示意圖說起,卷積基礎概念和操作步驟就不囉嗦了,只講這張圖,大意就是,有in-channel,有out-channel,你需要把i
原创 Gradient Descent、Momentum、Nesterov的實現及直覺對比
GradientDescent、Momentum(動量)、Nesterov(牛頓動量)的直覺含義對比: Gradient Descent def gd(x_start, step, g):#gradient descent
原创 TensorFlow實現多層LSTM識別MNIST手寫字,多層LSTM下state和output的關係
其他內容 https://blog.csdn.net/huqinweI987/article/details/83155110 輸入格式:batch_size*784改成batch_size*28*28,28個序列,內容是一行的28個
原创 tensorflow使用多層RNN(lstm)預測手寫數字實現部分細節及踩坑總結
輸入格式:batch_size*784改成batch_size*28*28,28個序列,內容是一行的28個灰度數值。 讓神經網絡逐行掃描一個手寫字體圖案,總結各行特徵,通過時間序列串聯起來,最終得出結論。 網絡定義:單獨定義一個獲取單元的
原创 《21個項目玩轉深度學習:基於Tensorflow的時間詳解》第五章遇到的一個導出環境變量問題
主要關於linux下export、echo、pwd的用法。 《21個項目玩轉深度學習:基於Tensorflow的時間詳解》5.2.1安裝TensorFlow Object Detection API的一個操作,失敗了,寫給碰到同樣問題
原创 tensorflow存儲、恢復神經網絡結構和變量
tensorflow提供了變量保存接口,方便儲存訓練好的網絡參數,以便進行預測和繼續訓練。 save核心代碼只有兩句話,簡化DEMO如下(代碼中的global_step後邊會解釋): import tensorflow as tf W
原创 tensorflow使用可變學習率進行訓練(tf.train.exponential_decay)
tensorflow提供了接口,可以直接可變學習率,在訓練過程中動態改變學習率。 兩種train_op,一種普通的固定學習率訓練作爲對比train_op,一種是可變學習率train_op2。 接口參數: 起始學習率; 訓練步數計數器:用來
原创 tensorflow使用L2 regularization正則化修正overfitting過擬合
L2正則原理: 在Loss中加入參數w的平方和,這樣訓練過程中就會抑制w的值,w的值小,曲線就比較平滑,從而減小過擬合,參考公式如下圖: 正則化是不影響你去擬合曲線的,並不是所有參數都會被無腦抑制,實際上這是一個動態過程,是cross_
原创 tensorflow中tf.strided_slice用法
一個工程中用到,乍一看很簡單,給了下標直接就能從隊列中切出數據來,但是掃一眼help給的高級用法反而有點懵,所以寫了個demo。 demo1:正常單軸用法,只要給出下標就能切數據 import tensorflow as tf se
原创 使用auto-encoder實現分類預測
原理簡介: (csdn文章編輯bug太多,白碼字了,這裏只簡化說一下)通過encoder-decoder的結構形成一個負、正金字塔的瓶頸結構(必須是瓶頸結構,才能起到壓縮的效果,不然就成了複製了),對數據進行壓縮並還原,以還原程度爲指標來
原创 tensorflow中更新參數順序與tf.group中操作執行順序
想手動實現Adagrad,因爲Adagrad有兩部分需要更新,因爲之前合併兩個initializer用過tf.group,想當然認爲tf.group可能是帶順序的,所以打算把兩個update直接group起來執行,看起來省事,感覺卻會出事
原创 tensorflow中實現自動、手動梯度下降:GradientDescent、Momentum、Adagrad
tensorflow中提供了自動訓練機制(見nsorflow optimizer minimize 自動訓練和var_list訓練限制),本文主要展現不同的自動梯度下降並附加手動實現。 learning rate、step、計算公式如
原创 6段代碼帶你瞭解python global變量
借4個例子,說明一下global的作用。 a=6 print(id(a)) def f(): print(a) print(id(a)) f() print(id(a)) print('finally:',a)