国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - PyTorch中 tensor.detach() 和 tensor.data 的區別詳解

PyTorch中 tensor.detach() 和 tensor.data 的區別詳解

2020-05-07 10:53夢家 Python

今天小編就為大家分享一篇PyTorch中 tensor.detach() 和 tensor.data 的區別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

PyTorch0.4中,.data 仍保留,但建議使用 .detach(), 區別在于 .data 返回和 x 的相同數據 tensor, 但不會加入到x的計算歷史里,且require s_grad = False, 這樣有些時候是不安全的, 因為 x.data 不能被 autograd 追蹤求微分 。

.detach() 返回相同數據的 tensor ,且 requires_grad=False ,但能通過 in-place 操作報告給 autograd 在進行反向傳播的時候.

舉例:

tensor.data

?
1
2
3
4
5
6
7
8
9
10
11
12
>>> a = torch.tensor([1,2,3.], requires_grad =True)
>>> out = a.sigmoid()
>>> c = out.data
>>> c.zero_()
tensor([ 0., 0., 0.])
 
>>> out     # out的數值被c.zero_()修改
tensor([ 0., 0., 0.])
 
>>> out.sum().backward() # 反向傳播
>>> a.grad    # 這個結果很嚴重的錯誤,因為out已經改變了
tensor([ 0., 0., 0.])

tensor.detach()

?
1
2
3
4
5
6
7
8
9
10
11
12
>>> a = torch.tensor([1,2,3.], requires_grad =True)
>>> out = a.sigmoid()
>>> c = out.detach()
>>> c.zero_()
tensor([ 0., 0., 0.])
 
>>> out     # out的值被c.zero_()修改 !!
tensor([ 0., 0., 0.])
 
>>> out.sum().backward() # 需要原來out得值,但是已經被c.zero_()覆蓋了,結果報錯
RuntimeError: one of the variables needed for gradient
computation has been modified by an

以上這篇PyTorch中 tensor.detach() 和 tensor.data 的區別詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/DreamHome_S/article/details/85259533

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 韩日中文字幕 | 亚洲国产综合在线观看 | 国产一区二区免费 | 人人爱人人草 | 久久久成人免费 | 日韩精品一区二区在线观看视频 | av亚洲在线 | 自拍视频在线观看 | 久久a毛片 | 精品国偷自产国产一区 | 欧美激情一区二区 | 午夜在线观看视频 | 午夜免费电影 | 黄视频免费 | 四虎网址 | 久久色av | 亚洲精品一区二三区不卡 | 欧美一区日韩一区 | 一区二区视频在线 | 亚洲欧美中文字幕 | 国产美女在线观看 | 日韩精品一区二区在线观看 | 国产一区二区在线看 | 日韩精品一区二区在线视频 | 国产精品美女久久久久久免费 | 玖玖在线播放 | jizz亚洲女人高潮大叫 | 久久99精品国产自在现线 | 成人黄页在线观看 | 一片毛片 | 亚洲视频在线播放 | a网站在线观看 | 欧美日本国产 | 国产精品免费观看 | 国产精品无码永久免费888 | 国产美女www | 青草福利| 天天综合网久久综合网 | 麻豆91视频 | 免费精品视频 | 视频一区二区三区在线观看 |