下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、autograd 包是 PyTorch 中所有神經(jīng)網(wǎng)絡(luò)的核心。首先讓我們簡要地介紹它,然后我們將會去訓(xùn)練我們的第一個神經(jīng)網(wǎng)絡(luò)。該 autograd 軟件包為 Tensors 上的所有操作提供自動微分。它是一個由運行定義的框架,這意味著以代碼運行方式定義你的后向傳播,并且每次迭代都可以不同。我們從tensor 和 gradients 來舉一些例子。1 、 TENSORtorch.Tensor是包的核心類。如果將其屬性.requires_grad設(shè)置為True,則 會開始跟蹤針對tensor的所有操作。完成計算后,您可以調(diào)用.backward。來自 動計算所有梯度。該張量的梯度將累積到.grad屬
2、性中。要停止tensor歷史記錄的跟蹤,您可以調(diào)用.detach(),它將其與計算歷史 記錄分離,并防止將來的計算被跟蹤。要停止跟蹤歷史記錄(和使用內(nèi)存),您還可以將代碼塊使用 with torch.no_grad():包裝起來。在評估模型時,這是特別有用,因為模型在訓(xùn)練階段 具有 requires_grad = True 的可訓(xùn)練參數(shù)有利于調(diào)參,但在評估階段我們不需要 梯度。還有一個類對于 autograd 實現(xiàn)非常重要那就是Function 。 Tensor 和Function 互相連接并構(gòu)建一個非循環(huán)圖,它保存整個完整的計算過程的歷史信息。每個張量都有一個.grad_fn屬性保存著創(chuàng)建了
3、張量的Function的引用,(如果用戶自己創(chuàng)建張量,則 g rad_fn 是 None )。如果你想計算導(dǎo)數(shù),你可以調(diào)用Tensor.backward()o如果Tensor是標量(即它包含一個元素數(shù)據(jù)),則不需要指定任何參數(shù)backward。,但是如果它有更多元素,則需要指定一個gradient 參數(shù)來指定張量的形狀。import torch創(chuàng)建一個張量,設(shè)置requires_grad=True 來跟蹤與它相關(guān)的計算x = torch.ones(2, 2, requires_grad=True)print(x)輸出:tensor(1., 1.,1., 1., requires_grad=Tr
4、ue)針對 xx 做一個操作y = x + 2print(y)輸出:tensor(3., 3.,3., 3., grad_fn=<AddBackward0>)y 作為操作的結(jié)果被創(chuàng)建,所以它有g(shù)rad_fnprint(y.grad_fn)輸出:<AddBackward0 object at 0x7fe1db427470>針對 y 做更多的操作:z = y * y * 3out = z.mean()print(z, out)輸出:tensor(27., 27.,27., 27., grad_fn=<MulBackward0>)tensor(27., grad_
5、fn=<MeanBackward0>).requires_grad_( . )會改變張量的requires_grad 標記。輸入的標記默認為False ,如果沒有提供相應(yīng)的參數(shù)。a = torch.randn(2, 2)a = (a * 3) / (a - 1)print(a.requires_grad)a.requires_grad_(True)print(a.requires_grad)b = (a * a).sum()print(b.grad_fn)輸出:FalseTrue<SumBackward0 object at 0x7fe1db427dd8>梯度:我們現(xiàn)在
6、后向傳播,因為輸出包含了一個標量,out.backward()等同于out.backward(torch.tensor(1.) 。out.backward()打印梯度 d(out)/dxprint(x.grad)輸出:tensor(4.5000, 4.5000,4.5000, 4.5000)現(xiàn)在讓我們看一個xx 可比向量積的例子:x = torch.randn(3, requires_grad=True)y = x * 2while y.data.norm() < 1000:y = y * 2print(y)輸出:tensor( -444.6791,762.9810, -1690.094
7、1, grad_fn=<MulBackward0>)現(xiàn)在在這種情況下, y 不再是一個標量。 torch.autograd 不能夠直接計算整個雅可比,但是如果我們只想要雅可比向量積,只需要簡單的傳遞向量給backward 作為參數(shù)。v = torch.tensor(0.1, 1.0, 0.0001, dtype=torch.float)y.backward(v)print(x.grad)輸出:tensor(1.0240e+02, 1.0240e+03, 1.0240e-01)你可以通過將代碼包裹在with torch.no_grad() ,來停止對從跟蹤歷史中的 .requires_grad=True 的張量自動求導(dǎo)。print(x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度范例匯編員工管理篇十篇
- 單位管理制度呈現(xiàn)匯編【人事管理】
- 專題二 民主與法治(精講課件)中考道德與法治一輪復(fù)習 課件
- 【課件】寒假是用來超越的!課件 2024-2025學年高中上學期寒假學習和生活指導(dǎo)班會
- 第5單元 走向近代(高頻選擇題50題)(解析版)
- 中北大學課件電工技術(shù)
- 《皮膚性病學疥瘡》課件
- 《電子產(chǎn)品技術(shù)文件》課件
- 母親節(jié) 愛的呈現(xiàn)
- 汽車行業(yè)洞察與展望
- 2025年大學華西醫(yī)院運營管理部招考聘用3人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年放射科工作計劃
- 2024年中國干粉涂料市場調(diào)查研究報告
- 2024年副班主任工作總結(jié)(3篇)
- 課題申報書:古滇青銅文化基因圖譜構(gòu)建及活態(tài)深化研究
- 統(tǒng)編版2024-2025學年第一學期四年級語文期末學業(yè)質(zhì)量監(jiān)測試卷(含答案)
- 2024年城鄉(xiāng)學校結(jié)對幫扶工作總結(jié)范例(3篇)
- 房地產(chǎn)法律風險防范手冊
- 《監(jiān)考人員培訓(xùn)》課件
- 期末綜合測試卷(試題)-2024-2025學年四年級上冊數(shù)學人教版
- 分布式光伏發(fā)電項目計劃書
評論
0/150
提交評論