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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

pytorch学习入门 (二) Variable(变量)

發(fā)布時(shí)間:2023/12/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch学习入门 (二) Variable(变量) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Variable(變量)

autograd.Variable?是包的核心類. 它包裝了張量, 并且支持幾乎所有的操作. 一旦你完成了你的計(jì)算, 你就可以調(diào)用?.backward()?方法, 然后所有的梯度計(jì)算會(huì)自動(dòng)進(jìn)行.

你還可以通過(guò)?.data?屬性來(lái)訪問(wèn)原始的張量, 而關(guān)于該 variable(變量)的梯度會(huì)被累計(jì)到?.grad上去.

Variable

還有一個(gè)針對(duì)自動(dòng)求導(dǎo)實(shí)現(xiàn)來(lái)說(shuō)非常重要的類 -?Function.

Variable?和?Function?是相互聯(lián)系的, 并且它們構(gòu)建了一個(gè)非循環(huán)的圖, 編碼了一個(gè)完整的計(jì)算歷史信息. 每一個(gè) variable(變量)都有一個(gè)?.grad_fn?屬性, 它引用了一個(gè)已經(jīng)創(chuàng)建了?Variable?的?Function?(除了用戶創(chuàng)建的?Variable?``?之外?-?它們的?``grad_fn?is?None?).

如果你想計(jì)算導(dǎo)數(shù), 你可以在?Variable?上調(diào)用?.backward()?方法. 如果?Variable?是標(biāo)量的形式(例如, 它包含一個(gè)元素?cái)?shù)據(jù)), 你不必指定任何參數(shù)給?backward(), 但是, 如果它有更多的元素. 你需要去指定一個(gè)?grad_output?參數(shù), 該參數(shù)是一個(gè)匹配 shape(形狀)的張量.

import torch from torch.autograd import Variable

創(chuàng)建 variable(變量):

x = Variable(torch.ones(2, 2), requires_grad = True) print(x)

variable(變量)的操作:

y = x + 2 print(y)

y?由操作創(chuàng)建,所以它有?grad_fn?屬性.

print(y.grad_fn)

y 的更多操作

z = y * y * 3 out = z.mean()print(z, out)

梯度

我們現(xiàn)在開始了解反向傳播,?out.backward()?與?out.backward(torch.Tensor([1.0]))?這樣的方式一樣

out.backward()

但因 d(out)/dx 的梯度

print(x.grad)

你應(yīng)該得到一個(gè)?4.5?的矩陣. 讓我們推導(dǎo)出?out?Variable?“oo”. 我們有?o=14∑izio=14∑izi,?zi=3(xi+2)2zi=3(xi+2)2和?zi∣∣xi=1=27zi|xi=1=27. 因此,??o?xi=32(xi+2)?o?xi=32(xi+2), 所以??o?xi∣∣xi=1=92=4.5?o?xi|xi=1=92=4.5.

你可以使用自動(dòng)求導(dǎo)來(lái)做很多有趣的事情

x = torch.randn(3) x = Variable(x, requires_grad = True)y = x * 2 while y.data.norm() < 1000:y = y * 2print(y) gradients = torch.FloatTensor([0.1, 1.0, 0.0001]) y.backward(gradients)print(x.grad)

總結(jié)

以上是生活随笔為你收集整理的pytorch学习入门 (二) Variable(变量)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。