在caffe中固定某些網路引數,只訓練某些層

2021-08-20 16:03:37 字數 610 閱讀 8141

實現的關鍵變數是:propagate_down 含義:表示當前層的梯度是否向前傳播

比如有4個全連線層a->b->c->d

a. 你希望c層的引數不會改變,c前面的ab層的引數也不會改變,這種情況也就是d層的梯度不往前反向傳播到d層的輸入blob(也就是c層的輸出blob 沒有得到梯度),你可以通過設定d層的propagate_down為false來做到。

propagate_down的數量與輸入blob的數量相同,假如你某個層有2個輸入blob,那麼你應該在該layer的param裡面寫上兩行:

propagate_down : 0    # 第1個輸入blob不會得到反向傳播的梯度

propagate_down : 0    # 第2個輸入blob不會得到反向傳播的梯度

這樣的話,你這個layer的梯度就不會反向傳播啦,前面的所有layer的引數也就不會改變了

b. 你希望c層的引數不會改變,但是c前面的ab層的引數會改變,這種情況,只是固定了c層的引數,c層得到的梯度依然會反向傳播給前面的b層。只需要將對應的引數blob的學習率調整為0:

在layer裡面加上param 就可以了,比如全連線層裡面:

layer

param

}

在FLASH中固定位置存入資料

方法二 先在程式中定義乙個const 型別的常量陣列,並指定其儲存位置 方便找到寫入 讀取位置 這樣編譯器就會分配你指定的空間將常量陣列存入flash中。當你做擦除。讀寫操作時,只要在這個常量陣列所在的位址範圍就好。const uint8 t table 10 at 0x08010000 mdk3....

textarea在瀏覽器中固定大小

html 標籤 textarea 在大部分瀏覽器中只要指定行 rows 和列 cols 屬性,就可以規定 textarea 的尺寸,大小就不會改變,不過更好的辦法是使用 css 的 height 和 width 屬性,但是chrome,safari和firefox渲染的效果不同,可以拖動右下角圖示改...

textarea 在瀏覽器中固定大小和禁止拖動

html 標籤 textarea 在大部分瀏覽器中只要指定行 rows 和列 cols 屬性,就可以規定 textarea 的尺寸,大小就不會改變,不過更好的辦法是使用 css 的 height 和 width 屬性,但是chrome,safari和firefox渲染的效果不同,可以拖動右下角圖示改...