欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于pytorch中網(wǎng)絡(luò)loss傳播和參數(shù)更新的理解

 更新時(shí)間:2019年08月20日 11:46:14   作者:少年木  
今天小編就為大家分享一篇關(guān)于pytorch中網(wǎng)絡(luò)loss傳播和參數(shù)更新的理解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

相比于2018年,在ICLR2019提交論文中,提及不同框架的論文數(shù)量發(fā)生了極大變化,網(wǎng)友發(fā)現(xiàn),提及tensorflow的論文數(shù)量從2018年的228篇略微提升到了266篇,keras從42提升到56,但是pytorch的數(shù)量從87篇提升到了252篇。

TensorFlow: 228--->266

Keras: 42--->56

Pytorch: 87--->252

在使用pytorch中,自己有一些思考,如下:

1. loss計(jì)算和反向傳播

import torch.nn as nn
 
criterion = nn.MSELoss().cuda()
 
output = model(input)
 
loss = criterion(output, target)
loss.backward()

通過定義損失函數(shù):criterion,然后通過計(jì)算網(wǎng)絡(luò)真實(shí)輸出和真實(shí)標(biāo)簽之間的誤差,得到網(wǎng)絡(luò)的損失值:loss;

最后通過loss.backward()完成誤差的反向傳播,通過pytorch的內(nèi)在機(jī)制完成自動(dòng)求導(dǎo)得到每個(gè)參數(shù)的梯度。

需要注意,在機(jī)器學(xué)習(xí)或者深度學(xué)習(xí)中,我們需要通過修改參數(shù)使得損失函數(shù)最小化或最大化,一般是通過梯度進(jìn)行網(wǎng)絡(luò)模型的參數(shù)更新,通過loss的計(jì)算和誤差反向傳播,我們得到網(wǎng)絡(luò)中,每個(gè)參數(shù)的梯度值,后面我們再通過優(yōu)化算法進(jìn)行網(wǎng)絡(luò)參數(shù)優(yōu)化更新。

2. 網(wǎng)絡(luò)參數(shù)更新

在更新網(wǎng)絡(luò)參數(shù)時(shí),我們需要選擇一種調(diào)整模型參數(shù)更新的策略,即優(yōu)化算法。

優(yōu)化算法中,簡單的有一階優(yōu)化算法:

其中 就是通常說的學(xué)習(xí)率, 是函數(shù)的梯度;

自己的理解是,對于復(fù)雜的優(yōu)化算法,基本原理也是這樣的,不過計(jì)算更加復(fù)雜。

在pytorch中,torch.optim是一個(gè)實(shí)現(xiàn)各種優(yōu)化算法的包,可以直接通過這個(gè)包進(jìn)行調(diào)用。

optimizer = torch.optim.Adam(model.parameters(), lr=0.01)

注意:

1)在前面部分1中,已經(jīng)通過loss的反向傳播得到了每個(gè)參數(shù)的梯度,然后再本部分通過定義優(yōu)化器(優(yōu)化算法),確定了網(wǎng)絡(luò)更新的方式,在上述代碼中,我們將模型的需要更新的參數(shù)傳入優(yōu)化器。

2)注意優(yōu)化器,即optimizer中,傳入的模型更新的參數(shù),對于網(wǎng)絡(luò)中有多個(gè)模型的網(wǎng)絡(luò),我們可以選擇需要更新的網(wǎng)絡(luò)參數(shù)進(jìn)行輸入即可,上述代碼,只會(huì)更新model中的模型參數(shù)。對于需要更新多個(gè)模型的參數(shù)的情況,可以參考以下代碼:

optimizer = torch.optim.Adam([{'params': model.parameters()}, {'params': gru.parameters()}], lr=0.01) 3) 在優(yōu)化前需要先將梯度歸零,即optimizer.zeros()。

3. loss計(jì)算和參數(shù)更新

import torch.nn as nn
import torch
 
criterion = nn.MSELoss().cuda()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
 
output = model(input)
 
loss = criterion(output, target)
 
​optimizer.zero_grad() # 將所有參數(shù)的梯度都置零
loss.backward()    # 誤差反向傳播計(jì)算參數(shù)梯度
optimizer.step()    # 通過梯度做一步參數(shù)更新

以上這篇關(guān)于pytorch中網(wǎng)絡(luò)loss傳播和參數(shù)更新的理解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel

    Python使用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel

    這篇文章主要介紹了Python使用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel,xlwt只能對Excel進(jìn)行寫操作。xlwt和xlrd不光名字像,連很多函數(shù)和操作格式也是完全相
    2022-08-08
  • Python利用柯里化實(shí)現(xiàn)提高代碼質(zhì)量

    Python利用柯里化實(shí)現(xiàn)提高代碼質(zhì)量

    柯里化(Currying)是函數(shù)式編程中的一個(gè)重要概念,它可以將一個(gè)多參數(shù)函數(shù)轉(zhuǎn)化為一系列單參數(shù)函數(shù)的組合,本文將詳細(xì)解釋什么是柯里化,如何在Python中實(shí)現(xiàn)柯里化,感興趣的可以了解下
    2024-01-01
  • Python定時(shí)器線程池原理詳解

    Python定時(shí)器線程池原理詳解

    這篇文章主要介紹了Python定時(shí)器線程池原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python寫入已存在的excel數(shù)據(jù)實(shí)例

    python寫入已存在的excel數(shù)據(jù)實(shí)例

    下面小編就為大家分享一篇python寫入已存在的excel數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python完成哈夫曼樹編碼過程及原理詳解

    Python完成哈夫曼樹編碼過程及原理詳解

    這篇文章主要介紹了Python完成哈夫曼樹編碼過程及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Pycharm搭建Django項(xiàng)目詳細(xì)教程(看完這一篇就夠了)

    Pycharm搭建Django項(xiàng)目詳細(xì)教程(看完這一篇就夠了)

    這篇文章主要給大家介紹了關(guān)于Pycharm搭建Django項(xiàng)目的詳細(xì)教程,想要學(xué)習(xí)的小伙伴看完這一篇就夠了,pycharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時(shí)提高其效率的工具,需要的朋友可以參考下
    2023-11-11
  • Python編程實(shí)現(xiàn)二分法和牛頓迭代法求平方根代碼

    Python編程實(shí)現(xiàn)二分法和牛頓迭代法求平方根代碼

    這篇文章主要介紹了Python編程實(shí)現(xiàn)二分法和牛頓迭代法求平方根代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • 6行Python代碼實(shí)現(xiàn)進(jìn)度條效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI庫)

    6行Python代碼實(shí)現(xiàn)進(jìn)度條效果(Progress、tqdm、alive-progress​​

    這篇文章主要介紹了6行Python代碼實(shí)現(xiàn)進(jìn)度條效果(Progress、tqdm、alive-progress和PySimpleGUI庫),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 利用python的socket發(fā)送http(s)請求方法示例

    利用python的socket發(fā)送http(s)請求方法示例

    這篇文章主要給大家介紹了關(guān)于利用python的socket發(fā)送http(s)請求的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-05-05
  • 基于Python 裝飾器裝飾類中的方法實(shí)例

    基于Python 裝飾器裝飾類中的方法實(shí)例

    下面小編就為大家分享一篇基于Python 裝飾器裝飾類中的方法實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論