圖層模板

import caffe

class My_Custom_Layer(caffe.Layer):
    def setup(self, bottom, top):
        pass
        
    def forward(self, bottom, top):
        pass
        
    def reshape(self, bottom, top):
        pass

    def backward(self, bottom, top):
        pass

要記住的重要事項:

  • 你的自定義圖層必須從 caffe.Layer 繼承 (所以不要忘記匯入 caffe );
  • 你必須定義以下四種方法: setupforwardreshapebackward ;
  • 所有方法都有 topbottom 引數,這些引數是儲存輸入和傳遞給圖層的輸出的 blob。你可以使用 top [i] .databottom [i] .data 訪問它,其中 i 是 blob 的索引,以防你有多個上限或下限 blob。

- 設定方法

在 Caffe 例項化所有層時,在執行的生命週期中呼叫 Setup 方法一次。你可以在此處讀取引數,例項化固定大小的緩衝區。

- 重塑方法

使用 reshape 方法進行初始化/設定,這取決於底部 blob(圖層輸入)大小。在例項化網路時呼叫一次。

- 前進方法

為每個輸入批處理呼叫 Forward 方法,這是你的大多數邏輯所在的位置。

- 後退方法

在向後傳遞網路期間呼叫 Backward 方法。例如,在類似卷積的圖層中,這將是你計算漸變的位置。這是可選的(圖層可以是僅向前的)。