用si載入**後 首先從caffe layer的實現看起,不同框架下最大的差異就在於層的實現也決定了層的靈活性
layer可以看成是乙個基類,下面存在data_layer,activation/neuron layers,vision layer,common layers,loss layer,各個層是幹什麼用的在以後的部落格中我都會討論。
data layer繼承關係:
neuron layer繼承關係:
vision layer繼承關係:
common layer繼承關係:
loss layer繼承關係:
看過這些完整的繼承關係以後,我對caffe_layer.hpp有了乙個大概的了解,接下來的工作看caffe原始碼,把所有layer的實現看完。然後整理caffe的完整架構。
caffe原始碼解析
目錄目錄 簡單介紹 主要函式readprotofromtextfile 函式 writeprotototextfile 函式 readprotofrombinaryfile 函式 writeprototobinaryfile 函式 readimagetocvmat 函式 matchext 函式 cv...
Caffe原始碼解析6 Neuron Layer
neuronlayer,顧名思義這裡就是神經元,啟用函式的相應層。我們知道在blob進入啟用函式之前和之後他的size是不會變的,而且啟用值也就是輸出 y 只依賴於相應的輸入 x 在caffe裡面所有的layer的實現都放在src資料夾下的layer資料夾中,基本上很多文章裡應用到的layer型別它...
Caffe原始碼解析5 Conv Layer
vision layer裡面主要是包括了一些關於一些視覺上的操作,比如卷積 反卷積 池化等等。這裡的類跟data layer一樣好很多種繼承關係。主要包括了這幾個類,其中cudnn分別是cuda版本,這裡先不討論,在這裡先討論convolutionlayer 其繼承自layer,是乙個卷積以及反卷積...