国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

pytorch學習率設置——optimizer.param_groups、對不同層設置學習率、動態(tài)調(diào)整學習率。

這篇具有很好參考價值的文章主要介紹了pytorch學習率設置——optimizer.param_groups、對不同層設置學習率、動態(tài)調(diào)整學習率。。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

系列文章目錄

pytorch優(yōu)化器——add_param_group()介紹及示例、Yolov7 優(yōu)化器代碼示例
pytorch學習率設置——optimizer.param_groups、對不同層設置學習率、動態(tài)調(diào)整學習率
PyTorch學習——關(guān)于tensor、Variable、nn.Parameter()、葉子節(jié)點、非葉子節(jié)點、detach()函數(shù)、查看網(wǎng)絡層參數(shù)
PyTorch model 返回函數(shù)總結(jié)——model.state_dict(),model.modules(),model.children(),model.parameters()
PyTorch模型參數(shù)初始化(weights_init)——torch.nn.init、加載預權(quán)重



前言

我的需求:我需要在yolov7中更改其中一層的學習率,但yolov7的學習率是隨著eporch的變化動態(tài)變化的。


1、關(guān)于optimizer.param_groups

“param_groups” 是 Pytorch 中優(yōu)化器 Optimizer 的一個屬性,它是一個列表,其中的每個元素都是一個字典,表示優(yōu)化的參數(shù)組。每個字典都包含了一組參數(shù)的各種信息,如當前的學習率、動量等。這個屬性可以用來獲取優(yōu)化器中當前管理的參數(shù)組的信息,也可以用來修改優(yōu)化器的參數(shù)設置。
param_groups中的一些參數(shù)介紹:
[‘param’,‘lr’,‘momentum’,‘dampening’,‘weight_decay’,‘nesterov’]
params(iterable)—待優(yōu)化參數(shù)w、b 或者定義了參數(shù)組的dict
lr(float,可選)—學習率
momentum(float,可選,默認0)—動量因子
weight_decay(float,可選,默認0)—權(quán)重衰減
dampening (float, 可選) – 動量的抑制因子(默認:0)
nesterov (bool, 可選) – 使用Nesterov動量(默認:False)

2、設置學習率

查看優(yōu)化器完整參數(shù):

print(optimizer.state_dict()["param_groups"])

查看學習率:

print("Lr:{}".format(optimizer.state_dict()['param_groups'][0]['lr']))

以下是我測試的網(wǎng)絡模型:

class resnet18(torch.nn.Module):
    def __init__(self):
        super(resnet18, self).__init__()
        self.block1 = torch.nn.Sequential(
            torch.nn.Conv2d(1, 10, 5),
            torch.nn.MaxPool2d(2),
            torch.nn.ReLU(True),
            torch.nn.BatchNorm2d(10),
        )
        self.block2 = torch.nn.Sequential(
            torch.nn.Conv2d(10, 20, 5),
            torch.nn.MaxPool2d(2),
            torch.nn.ReLU(True),
            torch.nn.BatchNorm2d(20),
        )
        self.fc = torch.nn.Sequential(
            torch.nn.Flatten(),
            torch.nn.Linear(320, 10)
        )
    def forward(self, x):
        x = self.block1(x)
        x = self.block2(x)
        x = self.fc(x)
        return x
    
model = resnet18()

設置優(yōu)化器、學習率:

optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.5)

對網(wǎng)絡的不同塊設置學習率:文章來源地址http://www.zghlxwxcb.cn/news/detail-443785.html

optimizer = torch.optim.SGD([
        {
   "params":model.block1.parameters()},
        {
   "params":model.block2.parameters(),"lr":0.08},
        {
   "params":model.fc.parameters(),"lr":0.09},],
        lr=0.1, #默認參數(shù)
    )

到了這里,關(guān)于pytorch學習率設置——optimizer.param_groups、對不同層設置學習率、動態(tài)調(diào)整學習率。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Pytorch反向傳播——optimizer.zero_grad(), loss.backward(), optimizer.step() 作用

    在 PyTorch 中,optimizer.zero_grad() 用于清空優(yōu)化器中的梯度。通常,在進行一次反向傳播計算之前,我們需要先清空優(yōu)化器中的梯度。這是因為 PyTorch 默認會在反向傳播時累加梯度,而不是覆蓋之前的梯度,因此我們需要先清空梯度,再進行反向傳播計算。 具體來說,optimizer.

    2024年02月11日
    瀏覽(25)
  • PyTorch翻譯官網(wǎng)教程7-OPTIMIZING MODEL PARAMETERS

    Optimizing Model Parameters — PyTorch Tutorials 2.0.1+cu117 documentation 現(xiàn)在我們有了一個模型和數(shù)據(jù),是時候通過優(yōu)化我們的數(shù)據(jù)參數(shù)來訓練、驗證和測試我們的模型了。訓練模型是一個迭代過程;在每次迭代中,模型對輸出進行預測,計算猜測中的誤差(損失),收集誤差相對于其參數(shù)的導

    2024年02月16日
    瀏覽(20)
  • 【AI】Pytorch 系列:學習率設置

    a. 有序調(diào)整:等間隔調(diào)整(Step),按需調(diào)整學習率(MultiStep),指數(shù)衰減調(diào)整(Exponential)和 余弦退火CosineAnnealing。 b. 自適應調(diào)整:自適應調(diào)整學習率 ReduceLROnPlateau。 c. 自定義調(diào)整:自定義調(diào)整學習率 LambdaLR。

    2024年02月02日
    瀏覽(21)
  • 小白學Pytorch系列--Torch.optim API Base class(1)

    小白學Pytorch系列--Torch.optim API Base class(1)

    torch.optim是一個實現(xiàn)各種優(yōu)化算法的包。大多數(shù)常用的方法都已得到支持,而且接口足夠通用,因此將來還可以輕松集成更復雜的方法。 使用手torch.optim您必須構(gòu)造一個優(yōu)化器對象,該對象將保存當前狀態(tài),并將根據(jù)計算出的梯度更新參數(shù)。 要構(gòu)造一個優(yōu)化器,你必須給它一

    2023年04月13日
    瀏覽(24)
  • 【PyTorch】6.Learn about the optimization loop 了解優(yōu)化循環(huán)

    現(xiàn)在我們有了模型和數(shù)據(jù),是時候通過優(yōu)化數(shù)據(jù)上的參數(shù)來訓練、驗證和測試我們的模型了。訓練模型是一個迭代過程;在每次迭代中,模型都會對輸出進行猜測,計算其猜測中的誤差( 損失 ),收集相對于其參數(shù)的導數(shù)的誤差(如我們在上一節(jié)中看到的),并使用梯度下

    2024年01月23日
    瀏覽(24)
  • tensorflow中tf.keras.optimizers.Adam如何設置參數(shù)

    在 TensorFlow 中使用 tf.keras.optimizers.Adam 優(yōu)化器時,可以使用其可選的參數(shù)來調(diào)整其性能。常用的參數(shù)包括: learning_rate:float類型,表示學習率 beta_1: float類型, 動量參數(shù),一般設置為0.9 beta_2: float類型, 動量參數(shù),一般設置為0.999 epsilon: float類型, 用于防止除零錯誤,一般設置為

    2024年02月13日
    瀏覽(32)
  • CST 優(yōu)化器設置 Optimizer-Settings 使用cst自動優(yōu)化參數(shù)

    CST 優(yōu)化器設置 Optimizer-Settings 使用cst自動優(yōu)化參數(shù)

    優(yōu)化器位于simulation選項中的optimizer按鈕,點擊即可進入優(yōu)化器設置。 進入優(yōu)化器后會看到如圖所示的選項卡 在Simulation type中可以選擇在求解器求解時就進行優(yōu)化或者利用后處理數(shù)據(jù)進行優(yōu)化 在對話框中一共有三個屬性頁(settings goals info)用于優(yōu)化設置,先來看setting。 2.

    2024年02月01日
    瀏覽(116)
  • pytorch異常——RuntimeError:Given groups=1, weight of size..., expected of...

    pytorch異?!猂untimeError:Given groups=1, weight of size..., expected of...

    nn.Conv2d 需要的輸入張量格式為 (batch_size, channels, height, width),但您的示例輸入張量 x 是 (batch_size, height, width, channels)。因此,需要對輸入張量進行轉(zhuǎn)置。 注意, TensorFlow使用\\\"NHWC\\\"(批次、高度、寬度、通道)格式,而PyTorch使用\\\"NCHW\\\"(批次、通道、高度、寬度)格式 在pytorch中

    2024年02月10日
    瀏覽(27)
  • 【機器學習】隨機種子Random Seed介紹(在Python、Pytorch、TensorFlow中的設置代碼匯總)

    Random seed(隨機種子) 是在生成隨機數(shù)時使用的起始點。它用于控制隨機數(shù)生成器產(chǎn)生隨機數(shù)的序列。設置了隨機種子后,每次生成的隨機數(shù)序列將是確定性的,這意味著可以在不同的運行中獲得相同的隨機數(shù)序列,從而使實驗可復現(xiàn)。 在機器學習中,確保實驗的可復現(xiàn)性是

    2024年02月05日
    瀏覽(28)
  • 深度學習——優(yōu)化器Optimizer

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包