日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

卸载pytorch_Pytorch中的hook的使用详解

發布時間:2023/12/19 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 卸载pytorch_Pytorch中的hook的使用详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先明確一點,hook是什么呢?翻譯出來是"鉤子",顧名思義,就是掛在某個東西上的一種即插即用的結構。

有哪些hook呢?
常用的主要有3個:
1. torch.autograd.Variable.register_hook (in Automatic differentiation package)
2. torch.nn.Module.register_backward_hook (in torch.nn.Module)
3. torch.nn.Module.register_forward_hook (in torch.nn.Module)
第一個是register_hook,是針對Variable對象的(可以理解為掛在Variable用來提取某些信息的一種結構); 后面的兩個register_backward_hook和register_forward_hook是針對nn.Module(掛在Module上的)這個對象的。

其次,我們為何要用hook呢或者說hook有什么作用呢?

舉個例子,比如有這么一個函數,

,你想通過梯度下降法來求得函數的極小值 (或者最小值)。這在pytorch里很容易實現:import

在pytorch的計算圖中,只有葉子節點 (leaf node)是可以被追蹤梯度的(即requires_grad=True),中間節點的梯度為了節省內存的原因而沒有被保留 (對于中間變量,一旦它們完成了自身反傳的使命,梯度就會被釋放掉 ),因此當我們輸出中間變量y的梯度的時候:

y.grad

系統會返回None。那怎么辦呢?

因此,hook就派上用場了。簡而言之,register_hook( )的作用是,當反傳時,除了完成原有的反傳,額外多完成一些任務。你可以定義一個中間變量的hook,將它的grad值打印出來,當然你也可以定義一個列表,將每次的grad值添加到里面去保留起來。

import torch from torch.autograd import Variablegrad_list = []def print_grad(grad):grad_list.append(grad)x = Variable(torch.randn(2, 1), requires_grad=True) y = x+2 z = torch.mean(torch.pow(y, 2)) lr = 1e-3 y.register_hook(print_grad) z.backward() x.data -= lr*x.grad.data

需要注意的是,register_hook函數接收的是一個函數(函數名),這個函數有如下的形式:

hook(grad) -> Variable or None

PS:這個函數是可以改變被執行變量梯度的!

v = torch.tensor([1, 1, 1], dtype = torch.float32, requires_grad=True) u = torch.pow(v, 2) z = torch.mean(u) # register hook for u h = u.register_hook(lambda grad: print(2 * grad)) # double the gradient z.backward() h.remove() # removes the hook

系統輸出:tensor([0.6667, 0.6667, 0.6667])

這個函數返回一個句柄h, 它有一個方法h.remove( ), 可以使用這個方法將hook從變量u上"卸載"下來。

總結

以上是生活随笔為你收集整理的卸载pytorch_Pytorch中的hook的使用详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产污污免费网站入口 | 三大队在线观看 | 毛片毛片毛片毛片毛片毛片毛片毛片 | a级片一级片 | 熟女人妇 成熟妇女系列视频 | 亚洲精品国产精品乱码不66 | 日本视频www色 | 亚洲性喷水 | 国产视频在线观看一区二区 | 综合色在线视频 | 中文字幕一区二区三区精品 | 亚洲男人的天堂网站 | 综合亚洲欧美 | 国产亚洲精品成人av在线 | 新版天堂资源中文8在线 | 麻豆视频成人 | 围产精品久久久久久久 | 亚洲精品丝袜 | 91天天综合 | 中文字幕在线欧美 | 在线免费观看福利 | av男女| 色婷婷国产 | 久久婷婷六月 | 99久久久| 什么网站可以看毛片 | 奇米影视在线播放 | 欧美另类视频在线 | 成人激情av | 麻豆免费在线观看视频 | 久青草国产在线 | 伊人99热 | 一级黄色片免费播放 | 黄色国产在线视频 | 特级毛片爽www免费版 | chinese hd av| 色呦呦视频在线 | 国产又粗又黄 | 一级性生活免费视频 | 午夜精品视频一区 | 亚洲午夜精品久久久久久浪潮 | 欧美日韩在线高清 | 色婷婷六月天 | 亚洲天堂av线 | 手机看片99| 一级黄色片免费看 | 三级黄色在线视频 | jizz18欧美18| 综合 欧美 亚洲日本 | 日韩有码av| 色老头免费视频 | 91色偷偷 | 成人福利在线看 | 成人小视频免费 | 91精品视频在线看 | 日韩欧美国产电影 | 在线观看欧美日韩视频 | 日本精品在线播放 | 69国产| 国产无遮挡裸体免费视频 | 高清欧美性猛交 | 6080黄色 | 亚洲图片在线 | 亚洲a成人 | 女同亚洲精品一区二区三 | 欧美午夜精品一区 | 天堂福利在线 | 青青青在线| 亚洲人人夜夜澡人人爽 | 波多野一区 | 久久精品无码av | 人人九九精| 欧美日韩一区二区三区四区五区六区 | 夜夜se| 色哟哟视频网站 | 无码精品在线视频 | 自拍三级视频 | 污网在线观看 | 不卡一区二区在线视频 | 制服.丝袜.亚洲.另类.中文 | 黄色网址在线免费播放 | 日韩乱码人妻无码系列中文字幕 | 樱桃成人精品视频在线播放 | 欧美精品一区二区三区三州 | 国产精品无码粉嫩小泬 | 天天夜碰日日摸日日澡性色av | 亚洲精品99 | 黄瓜视频在线观看污 | 亚洲AV成人精品 | 国产在线看片 | 国产a级免费 | 真实乱视频国产免费观看 | 成人手机在线视频 | www.污视频 | 日韩爱爱网 | 91网入口 | 日本人妖japanesexxx | 成人高清| 欧美女同视频 |