凍結訓練的理解與使用

2021-10-10 17:19:36 字數 899 閱讀 2711

凍結訓練的作用:當我們已有部分預訓練權重,這部分預訓練權重所應用的那部分網路是通用的,如骨幹網路,那麼我們可以先凍結這部分權重的訓練,將更多的資源放在訓練後面部分的網路引數,這樣使得時間和資源利用都能得到很大改善。然後後面的網路引數訓練一段時間之後再解凍這些被凍結的部分,這時再全部一起訓練。

參考知乎帖子:

#------------------------------------#

# 凍結一定部分訓練

#------------------------------------#

for param in model.backbone.parameters():

param.requires_grad =

false

#凍結骨幹網路,這部分網路有與訓練權重

optimizer = optim.adam(

filter

(lambda p: p.requires_grad, net.parameters())

, lr=

0.1)

# compute loss

# loss.backward()

# optmizer.step()

# 解凍

for param in model.backbone.parameters():

param.requires_grad =

true

optimizer.add_param_group(

)# compute loss

# loss.backward()

# optmizer.step()

這裡的例子來自yolov3的乙個實現,網上其他人那看到的凍結訓練,在優化器中通過新增乙個filter把凍結了的那部分引數給過濾了,如上面所示。

Tesseract OCR的簡單使用與訓練

原文 tesseract,一款由hp實驗室開發由google維護的開源ocr optical character recognition 光學字元識別 引擎,與microsoft office document imaging modi 相比,我們可以不斷的訓練的庫,使影象轉換文字的能力不斷增強 如...

IOS SEL的理解與使用

有很多人,認為block的推廣可取代 設計模式,其實block並不能取代 的模式可以讓 邏輯性更強,更整潔,也會有更高的可讀性和可擴充套件性。相比之下,我覺得block更多的是取代了選擇器 selector。selector是什麼?我們要首先明白sel,sel並不是一種物件型別,我們通過xcode的...

v model的理解與使用

步驟 1 了解v model的本質 2 了解v model的使用方法 如下 本質上是,其中 input是對輸入事件的乙個監聽 value test 是將監聽事件中的資料放入到input,並且,v model不僅可以給input賦值還可以獲取input中的資料,而且資料的獲取是實時的,因為語法糖中是用...