a. blob是乙個四維儲存單元,分別是num,channels,height,width
b. 但對於全連線網路,使用2d blobs (shape (n, d)),然後呼叫innerproductlayer
c. 維度根據該層的型別和配置來確定。
a. setup:layer的初始化
b. forward:正向傳導計算,根據bottom計算top,呼叫了forward_cpu或forward_gpu來實現
c. backward:反向傳導計算,根據top計算bottom的梯度,其他同上
a. init中,通過建立blob和layer搭建了整個網路框架,以及呼叫各層的setup函式。
b.blobs_ 存放這每一層產生的blobls的中間結果,bottom_vecs_存放每一層的bottom blobs,top_vecs_存放每一層的top blobs
axis指出在**blob中,哪一維是label軸
先獲得權重的增量,這個根據bp的原理,等於輸入值和殘差的乘積加和然後獲得偏置bias的增量,這個根據bp的原理,直接等於輸出的殘差最後是更新輸入的殘差,這樣才能逐層反向傳遞 bp
演算法的基本思想是,學習過程由訊號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理後,傳向輸出層。若輸出層的實際輸出與期望的輸出不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,並將誤差分攤給各層的所有單元,從而獲得各層單元的誤差訊號,此誤差訊號即作為修正各單元權值的依據。這種訊號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也就是網路的學習訓練過程。此過程一直進行到網路輸出的誤差減少到可接受的程度,或進行到預先設定的學習次數為止。
對cifar10的測試結果分析
總識別率達到0.7752損失率loss = 0.667168
cifar10我迭代了四萬次發現結果經常把貓認作狗、把狗認作是馬,對於汽車,卡車、飛機、鳥、船的識別率正確率都比較高。
boost spirit 的一些記錄
最近的工作跟 boost spirit 多一些,本來想整理乙個較為系統的筆記,不過感覺目前思路還比較凌亂,先隨便記錄一些。spirit 是 boost 中的乙個 ll解析器框架,他完成實現乙個 ebnf 語法解析器的功能,但它的輸入為c 語言。ll parser framework represen...
MFC的一些記錄
型別 mfc 將c 的關鍵字用巨集定義成以下內容。mfc型別 意思 c 型別 bool,boolean 布林型boolean byte 1 位元組數值型 char word 2 位元組數值型 short dword 4 位元組數值型 int uint 無符號整型 unsigned int void ...
SCP的一些記錄
採用scp命令在linux系統之間copy檔案 不同的linux之間copy檔案常用有3種方法,第一種就是ftp,也就是 其中一台linux安裝ftp server,這樣可以另外一台使用ftp的client程式來進行檔案的copy。第二種方法就是採用samba服務,類似windows檔案copy 的...