caffe採用模組化結構對深度網路進行層層抽象,我們跟著caffe原始碼的目錄結構來看看都有哪些抽象:
blob:caffe中對資料儲存的抽象,進行儲存和傳遞的資料塊.實際上就是乙個n 維陣列,具體維度數目根據處理物件而定,比如對於影象物件,則n通常為4,即 n(批處理影象數) c(通道數) h(影象高度) w(影象寬度);blob儲存是行主序的,就是說座標為(n, c, h, w)的值的物理位置為((n * c+ c) * h + h) * w + w;
layer:caffe中進行實際運算的基本單元,將輸入的blob資料進行前向計算,傳遞到輸出blob或是將輸出的梯度blob進行反向計算傳遞到輸入的梯度blob;包括常見的卷積,池化等操作:每個層中包括基本的setup,forward,backward函式;
net:由一系列layer相互連線構成的有向無環圖.
接下來逐步解析每乙個檔案裡的原始碼.
HashMap原始碼追蹤
1.hashmap簡介 hashmap作為開發中使用頻率比較高的容器類,對hashmap底層原理的理解。有利我們寫出質量更高的 提公升系統的效能。2.從類的層次看hashmap hashmap實現map介面,屬於集合框架中map的一種實現,主要使用key和value儲存資料。儲存的元素key是不可以...
Caffe原始碼 math functions 解析
math function 定義了caffe 中用到的一些矩陣操作和數值計算的一些函式,這裡以float型別為例做簡單的分析 template void caffe cpu gemm const cblas transpose transa,const cblas transpose transb,...
caffe原始碼解析
目錄目錄 簡單介紹 主要函式readprotofromtextfile 函式 writeprotototextfile 函式 readprotofrombinaryfile 函式 writeprototobinaryfile 函式 readimagetocvmat 函式 matchext 函式 cv...