Caffe中的特殊layer解釋 慢慢填坑中

2021-07-05 09:20:39 字數 460 閱讀 2087

slice:在某乙個維度,按照給定的下標,blob拆分成幾塊。比如要拆分channel,總數50,下標為10,20,30,40,那就是分成5份,每份10個channel,輸出5個layer。

concat:在某個維度,將輸入的layer組合起來,是slice的逆過程。

split:將blob複製幾份,分別給不同的layer,這些上層layer共享這個blob。

tile:將blob的某個維度,擴大n倍。比如原來是1234,擴大兩倍變成11223344。

reduction:將某個維度縮減至1維,方法可以是sum、mean、asum、sumsq。

reshape:這個很簡單,就是matlab裡的reshape。

eltwise:將幾個同樣大小的layer,合併為1個,合併方法可以是相加、相乘、取最大。

flatten:將中間某幾維合併,其實可以用reshape代替。

剩下的慢慢填吧。。

caffe中layer層介紹

1.初識caffe 1.1.caffe相對與其他dl框架的優點和缺點 優點 缺點 對於某些研究方向來說的人並不適合。這個需要對caffe的結構有一定了解,後面提到 1.2.caffe 層次。回答裡面有人說熟悉blob,layer,net,solver這樣的幾大類,我比較贊同。我基本是從這個順序開始學...

caffe中增加自己的layer

假設新增加的層命名為 new 1.在src proto的layerparameter 的 layertype下 加 new 數字 2.在src layer factory.cpp中,加 case layerparameter layertype new return new newlayer par...

caffe中關於layer定義的筆記

很多初次閱讀caffe原始碼的同學可能不知道其中的layer具體是如何被定義的。假如我自己寫了個新的 layer,caffe是怎麼知道它的存在的呢?怎麼呼叫它的建構函式的呢?caffe為了管理各種各樣的layer,實現了叫做 工廠模式 的設計方法。它的長處是,我們在新增自己的layer時不需要修改c...