工廠模式:乙個工廠可以生產n種產品,那麼就需要n種磨具。因為從來沒有玩過設計模式,而layer是採用工廠模式的,就臨時看了一下,大概可以用上面的那一句話來描述吧。
基本可以說caffe中的所有層都是繼承了layer類的,那麼在caffe中,一共有哪些層呢?可以在caffe.proto中看到:
enum layertype
哇,嚇我一跳!這麼多!!
乙個個的來分析,這麼多種層,都分別在什麼地方呢?包括:
vision_layers.hpp:convolutionlayer類,cudnnconvolutionlayer類,im2collayer類,lrnlayer類,poolinglayer類,cudnnpoolinglayer類;
neuron_layers.hpp:neuronlayer類,absvallayer類,bnlllayer類,dropoutlayer類,powerlayer類,relulayer類,cudnnrelulayer類,sigmoidlayer類,cudnnsigmoidlayer類,tanhlayer類,cudnntanhlayer類,thresholdlayer類;
common_layers.hpp:argmaxlayer類,concatlayer類,eltwiselayer類,flattenlayer類,innerproductlayer類,mvnlayer類,silencelayer類,softmaxlayer類,cudnnsoftmaxlayer類,splitlayer類,slicelayer類
data_layers.hpp:basedatalayer類,baseprefetchingdatalayer類,datalayer類,dummydatalayer類,hdf5datalayer類,hdf5outputlayer類,imagedatalayer類,memorydatalayer類,windowdatalayer類,
loss_layers.hpp:accuracylayer類,losslayer類,contrastivelosslayer類,euclideanlosslayer類,hingelosslayer類,infogainlosslayer類,multinomiallogisticlosslayer類,sigmoidcrossentropylosslayer類,softmaxwithlosslayer類。
雖然這裡有這麼多種層,其實我們可能只關心其中的某一些而已。另外還看到,其實只有少部分的層使用gpu,也就是帶有cudnn的那些層。
tomcat原始碼閱讀5
org.apache.catalina.cluster.authenticator包 clustersinglesignon 每個valve支援使用者單點登入在集群節點上,使用者在web應用程式上經過驗證的安全標誌可以在同乙個安全域的其它集群節點上使用 clustersinglesignonlist...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...
Caffe原始碼閱讀 1 全連線層
發表於 2014 09 15 今天看全連線層的實現。主要看的是 主要是三個方法,setup,forward,backward 主體的思路,作者的注釋給的很清晰。主要是要弄清楚一些變數對應的含義 123 m 表示的樣本數 k 表示單個樣本的特徵長度 n 表示輸出神經元的個數 為了打字方便,以下省略下劃...