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

淺談PyTorch中in-place operation的含義

 更新時(shí)間:2020年06月27日 12:27:35   作者:York1996  
這篇文章主要介紹了淺談PyTorch中in-place operation的含義,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

in-place operation在pytorch中是指改變一個(gè)tensor的值的時(shí)候,不經(jīng)過復(fù)制操作,而是直接在原來的內(nèi)存上改變它的值??梢园阉蔀樵夭僮鞣?。

在pytorch中經(jīng)常加后綴“_”來代表原地in-place operation,比如說.add_() 或者.scatter()。python里面的+=,*=也是in-place operation。

下面是正常的加操作,執(zhí)行結(jié)束加操作之后x的值沒有發(fā)生變化:

import torch
x=torch.rand(2) #tensor([0.8284, 0.5539])
print(x)
y=torch.rand(2)
print(x+y)   #tensor([1.0250, 0.7891])
print(x)    #tensor([0.8284, 0.5539])

下面是原地操作,執(zhí)行之后改變了原來變量的值:

import torch
x=torch.rand(2) #tensor([0.8284, 0.5539])
print(x)
y=torch.rand(2)
x.add_(y)
print(x)    #tensor([1.1610, 1.3789])

在官方問文檔中由這一段話:

如果你使用了in-place operation而沒有報(bào)錯(cuò)的話,那么你可以確定你的梯度計(jì)算是正確的。

補(bǔ)充知識:PyTorch中nn.ReLU(inplace=True)中inplace的作用

我們用PyTorch搭建神經(jīng)網(wǎng)絡(luò)時(shí),會遇到nn.ReLU(inplace=True),inplace=True是什么意思呢?

nn.Conv2d(64,192,kernel_size=3,stride=1,padding=1),
nn.ReLu(inpalce=True),# inplace為True,默認(rèn)為False

意思是:是否將計(jì)算得到的值直接覆蓋之前的值

例如:x = x+1

即對原值x進(jìn)行+1操作后得到的值,直接賦值給x

而不是如下找一個(gè)中間變量y:

y=x+1
x=y

先將x進(jìn)行+1操作后賦值給中間變量y,然后將y值賦給x

這樣就需要內(nèi)存存儲變量y

因此當(dāng)inplace=True時(shí):

就是對從上層網(wǎng)絡(luò)nn.Conv2d中傳遞下來的tensor直接進(jìn)行修改,這樣能夠節(jié)省運(yùn)算內(nèi)存,不用多存儲其他變量。

以上這篇淺談PyTorch中in-place operation的含義就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • django實(shí)現(xiàn)類似觸發(fā)器的功能

    django實(shí)現(xiàn)類似觸發(fā)器的功能

    今天小編就為大家分享一篇django實(shí)現(xiàn)類似觸發(fā)器的功能,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python使用getpass庫讀取密碼的示例

    Python使用getpass庫讀取密碼的示例

    本篇文章主要介紹了Python使用getpass庫讀取密碼的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • django框架防止XSS注入的方法分析

    django框架防止XSS注入的方法分析

    這篇文章主要介紹了django框架防止XSS注入的方法,結(jié)合實(shí)例形式分析了XSS攻擊的原理及Django框架防止XSS攻擊的相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • cProfile Python性能分析工具使用詳解

    cProfile Python性能分析工具使用詳解

    這篇文章主要介紹了cProfile Python性能分析工具使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用AJAX和Django獲取數(shù)據(jù)的方法實(shí)例

    使用AJAX和Django獲取數(shù)據(jù)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于使用AJAX和Django獲取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python XlsxWriter模塊Chart類用法實(shí)例分析

    Python XlsxWriter模塊Chart類用法實(shí)例分析

    這篇文章主要介紹了Python XlsxWriter模塊Chart類用法,結(jié)合實(shí)例形式分析了Python XlsxWriter模塊Chart類功能、圖表繪制常用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-03-03
  • 關(guān)于Python中的閉包詳解

    關(guān)于Python中的閉包詳解

    大家好,本篇文章主要講的是關(guān)于Python中的閉包詳解,感興趣的同學(xué)感快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • py中的目錄與文件判別代碼

    py中的目錄與文件判別代碼

    python中的判別目錄和文件的腳本
    2008-07-07
  • Flask框架中的session設(shè)置詳解

    Flask框架中的session設(shè)置詳解

    Flask是一個(gè)使用Python編寫的輕量級Web應(yīng)用框架。其WSGI工具箱采用Werkzeug,模板引擎則使用 Jinja2 。Flask使用BSD授權(quán)。Flask也被稱為 “microframework”,因?yàn)樗褂煤唵蔚暮诵?,用extension增加其他功能
    2023-02-02
  • Pandas實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的一些小技巧匯總

    Pandas實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的一些小技巧匯總

    這篇文章主要給大家匯總介紹了關(guān)于Pandas實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的一些小技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05

最新評論