最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch的Backward過程用時太長問題及解決

 更新時間:2023年02月20日 08:31:37   作者:Ai_Taoism  
這篇文章主要介紹了pytorch的Backward過程用時太長問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

pytorch Backward過程用時太長

問題描述

使用pytorch對網(wǎng)絡(luò)進行訓(xùn)練的時候遇到一個問題,forward階段很快(只需要幾毫秒),backward階段卻用時很長(需要十多秒)。

導(dǎo)致這個問題的原因很容易被大家忽視,而且網(wǎng)上基本上沒有直接的解決方案,經(jīng)過一天的折騰,總算把導(dǎo)致這個問題的原因搞清楚了。

解決方案

導(dǎo)致這個問題的原因在于訓(xùn)練數(shù)據(jù)的淺拷貝,由于backward過程中的梯度是和模型推理過程中的張量相關(guān)的,如果這些張量在被模型使用之前沒有被深拷貝,意味著backward過程的會重復(fù)從這些張量的原始內(nèi)存地址中取值,這個過程非常耗時。所以為了避免這個問題,需要養(yǎng)成一個好習(xí)慣,就是將張量數(shù)據(jù)輸入模型之前進行深拷貝

pytorch的深拷貝方式如下:

tensor_a = tensor_b.clone().detach()

Pytorch backward()簡單理解

backward()是反向傳播求梯度,具體實現(xiàn)過程如下

import torch
 
x=torch.tensor([1,2,3],requires_grad=True,dtype=torch.double)
y=x**2
z=y.mean()
z.backward()
print(x.grad)

結(jié)果

tensor([0.6667, 1.3333, 2.0000], dtype=torch.float64)

有幾個重要的點

1.必須要加上requires_grad=True才能求

2. 一般來說,需要標(biāo)量才能求梯度。

3.具體過程如下:

z是一個標(biāo)量(1*1矩陣)分別對x1,x2,x3求偏導(dǎo), 再代入x1,x2,x3的數(shù)值,就是如上程序輸出的結(jié)果

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)GIF圖倒放

    Python實現(xiàn)GIF圖倒放

    這篇文章主要介紹了Python如何實現(xiàn)GIF圖倒放,文中講解非常細致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Python自動化之定位方法大殺器xpath

    Python自動化之定位方法大殺器xpath

    selenium的幾種定位方法中,大殺器之一就是xpath方法,學(xué)會它,你將無所不能.本文就帶大家詳細了解一下這個大殺器,文中有非常詳細的介紹,需要的朋友可以參考下
    2021-05-05
  • Pycharm內(nèi)置終端及遠程SSH工具的使用教程圖文詳解

    Pycharm內(nèi)置終端及遠程SSH工具的使用教程圖文詳解

    這篇文章主要介紹了Pycharm內(nèi)置終端及遠程SSH工具的使用教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python中使用PDB庫調(diào)試程序

    Python中使用PDB庫調(diào)試程序

    這篇文章主要介紹了Python中使用PDB庫調(diào)試程序,本文講解了使用PDB的二種模式以及PDB模式下的常用調(diào)試命令,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾實例

    Python實現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾實例

    這篇文章主要介紹了Python實現(xiàn)刪除當(dāng)前目錄下除當(dāng)前腳本以外的文件和文件夾的方法,涉及Python針對目錄及文件的刪除技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 忘記ftp密碼的解決方法示例

    忘記ftp密碼的解決方法示例

    忘記ftp密碼了怎么辦?下面介紹一個使用python ftplib庫的方法,大家參考使用吧
    2014-01-01
  • 基于Python實現(xiàn)wifi連接小程序

    基于Python實現(xiàn)wifi連接小程序

    這篇文章主要為大家詳細介紹了如何使用Python編程語言編寫一個簡單的連接Wi-Fi的程序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • Python實現(xiàn)CART決策樹算法及詳細注釋

    Python實現(xiàn)CART決策樹算法及詳細注釋

    CART算法是一種樹構(gòu)建算法,既可以用于分類任務(wù),又可以用于回歸,本文僅討論基本的CART分類決策樹構(gòu)建,不討論回歸樹和剪枝等問題,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • python中subprocess實例用法及知識點詳解

    python中subprocess實例用法及知識點詳解

    在本篇文章里小編給大家分享的是關(guān)于python中subprocess實例用法及知識點詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • Python使用defaultdict解決字典默認值

    Python使用defaultdict解決字典默認值

    本文主要介紹了Python使用defaultdict解決字典默認值,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

南漳县| 崇义县| 四子王旗| 隆昌县| 安福县| 三门峡市| 孟连| 淮阳县| 五家渠市| 定陶县| 金阳县| 东城区| 镇雄县| 乌海市| 内乡县| 同德县| 永康市| 雷波县| 故城县| 盘山县| 措美县| 云安县| 文昌市| 花垣县| 格尔木市| 富平县| 仁化县| 濮阳县| 易门县| 盱眙县| 镇原县| 汉川市| 鄂伦春自治旗| 南丹县| 铜山县| 宝清县| 饶平县| 商河县| 酉阳| 廊坊市| 镇坪县|