初識 torch.Autograd | 理解pytorch網(wǎng)絡(luò)訓(xùn)練過程 | 筆記

      網(wǎng)友投稿 1068 2022-05-30

      本博文是運行 pytorch quickstart_tutorial 記錄的粗糙筆記

      文章目錄

      Disabling Gradient Tracking 禁止 梯度 跟蹤

      默認(rèn)情況下,所有具有 requires_grad=True 的張量都在跟蹤它們的計算歷史并支持梯度計算。

      但是,在某些情況下我們不需要這樣做,例如,當(dāng)我們訓(xùn)練了模型并且只想將其應(yīng)用于某些輸入數(shù)據(jù)時,即我們只想通過網(wǎng)絡(luò)進(jìn)行前向計算。

      我們可以通過用 torch.no_grad() 塊包圍我們的計算代碼來停止跟蹤計算:

      There are reasons you might want to disable gradient tracking【關(guān)閉梯度跟蹤的原因】:

      初識 torch.Autograd | 理解pytorch網(wǎng)絡(luò)訓(xùn)練過程 | 筆記

      理解 y = w * X + b

      Optional Reading: Tensor Gradients and Jacobian Products【梯度和雅克比積】

      什么是超參數(shù)

      Optimization Loop 【迭代優(yōu)化】

      Loss Function 【損失函數(shù)】

      Optimizer 【 優(yōu)化器】

      Saving and Loading Model Weights 【保存 加載 模型】

      Saving and Loading Models with Shapes【模型網(wǎng)絡(luò)結(jié)構(gòu) 和 參數(shù) 存儲于一個 xx.pth 文件】

      Exporting Model to ONNX

      Disabling Gradient Tracking 禁止 梯度 跟蹤

      摘自 pytorch 教程

      import torch z = torch.matmul(x, w)+b print(z.requires_grad) with torch.no_grad(): z = torch.matmul(x, w)+b print(z.requires_grad)

      1

      2

      3

      4

      5

      6

      7

      8

      There are reasons you might want to disable gradient tracking【關(guān)閉梯度跟蹤的原因】:

      將神經(jīng)網(wǎng)絡(luò)中的某些參數(shù)標(biāo)記為凍結(jié)參數(shù),這是微調(diào)預(yù)訓(xùn)練網(wǎng)絡(luò)的一個非常常見的場景

      在僅進(jìn)行前向傳遞時加快計算速度,不對張量進(jìn)行梯度跟蹤,計算會更加高效

      理解 y = w * X + b

      Optional Reading: Tensor Gradients and Jacobian Products【梯度和雅克比積】

      摘自該文檔

      In many cases, we have a scalar loss function, and we need to compute the gradient with respect to some parameters. However, there are cases when the output function is an arbitrary tensor. In this case, PyTorch allows you to compute so-called Jacobian product, and not the actual gradient.

      在很多情況下,我們有一個標(biāo)量損失函數(shù),我們需要計算一些參數(shù)的梯度。 但是,有些情況下輸出函數(shù)是任意張量。 在這種情況下,PyTorch 允許您計算所謂的雅可比積,而不是實際的梯度。

      什么是超參數(shù)

      超參數(shù)是可調(diào)節(jié)的參數(shù),用來控制模型優(yōu)化過程, 不同的超參數(shù)值會影響模型訓(xùn)練和收斂速度;

      Optimization Loop 【迭代優(yōu)化】

      Loss Function 【損失函數(shù)】

      當(dāng)提供一些訓(xùn)練數(shù)據(jù)時,我們未經(jīng)訓(xùn)練的網(wǎng)絡(luò)可能不會給出正確的答案。 損失函數(shù)衡量得到的結(jié)果與目標(biāo)值的不相似程度,是我們在訓(xùn)練過程中想要最小化的損失函數(shù)。 為了計算損失,我們使用給定數(shù)據(jù)樣本的輸入進(jìn)行預(yù)測,并將其與真實數(shù)據(jù)標(biāo)簽值進(jìn)行比較。

      Optimizer 【 優(yōu)化器】

      優(yōu)化是在每個訓(xùn)練步驟中調(diào)整模型參數(shù)以減少模型誤差的過程。 優(yōu)化算法定義了這個過程是如何執(zhí)行的(在這個例子中我們使用隨機(jī)梯度下降)。 所有優(yōu)化邏輯都封裝在優(yōu)化器對象中。 在這里,我們使用 SGD 優(yōu)化器; 此外,PyTorch 中有許多不同的優(yōu)化器可用,例如 ADAM 和 RMSProp,它們更適用于不同類型的模型和數(shù)據(jù)。

      在訓(xùn)練循環(huán)中,優(yōu)化分三步進(jìn)行:

      調(diào)用 optimizer.zero_grad() 來重置模型參數(shù)的梯度。 默認(rèn)情況下漸變相加;為了防止重復(fù)計算,我們在每次迭代時明確地將它們歸零。

      通過調(diào)用 loss.backwards() 來反向傳播預(yù)測損失。 PyTorch 將損失的梯度存入 w.r.t. 每個參數(shù)。

      一旦我們有了梯度,我們就調(diào)用 optimizer.step() 來通過向后傳遞中收集的梯度來調(diào)整參數(shù)。

      Saving and Loading Model Weights 【保存 加載 模型】

      Saving and Loading Models with Shapes【模型網(wǎng)絡(luò)結(jié)構(gòu) 和 參數(shù) 存儲于一個 xx.pth 文件】

      Exporting Model to ONNX

      PyTorch 還具有本機(jī) ONNX 導(dǎo)出支持。 然而,鑒于 PyTorch 執(zhí)行圖的動態(tài)特性,導(dǎo)出過程必須遍歷執(zhí)行圖以生成持久化的 ONNX 模型。 出于這個原因,應(yīng)該將適當(dāng)大小的測試變量傳遞給導(dǎo)出例程(在我們的例子中,我們將創(chuàng)建一個正確大小的虛擬零張量):

      input_image = torch.zeros((1,3,224,224)) onnx.export(model, input_image, 'model.onnx')

      1

      2

      pytorch 機(jī)器學(xué)習(xí) 網(wǎng)絡(luò)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:小說網(wǎng)站源碼帶PHP全自動采集規(guī)則
      下一篇:HTTP_REFERER的用法及偽造
      相關(guān)文章
      中文字幕亚洲男人的天堂网络| 亚洲国产精品无码久久SM| 亚洲日韩国产AV无码无码精品| 亚洲综合色在线观看亚洲| 久久亚洲精品无码AV红樱桃| 亚洲a∨国产av综合av下载| 亚洲国产精品无码AAA片| 亚洲日产无码中文字幕| 亚洲人成网站免费播放| 亚洲色少妇熟女11p| 亚洲欧美一区二区三区日产| 最新亚洲精品国偷自产在线| 久久青青草原亚洲av无码app| 人人狠狠综合久久亚洲婷婷| 国产AV无码专区亚洲AV男同| 亚洲成AV人片在线观看WWW| 亚洲国产成人精品女人久久久 | 亚洲综合色丁香麻豆| 久久亚洲精品无码播放| 亚洲heyzo专区无码综合| 亚洲AV无码一区二区大桥未久| 精品久久久久亚洲| 亚洲国产精品免费观看| 亚洲福利一区二区精品秒拍| 亚洲毛片无码专区亚洲乱| 亚洲AV无码一区东京热久久| 亚洲午夜久久影院| 亚洲国产美女视频| 亚洲日韩看片无码电影| 亚洲av第一网站久章草| 亚洲无线一二三四区手机| 国产自偷亚洲精品页65页| 日韩亚洲精品福利| 亚洲欧洲精品成人久久曰| 国产亚洲综合久久| 久久人午夜亚洲精品无码区| 亚洲成av人片在线天堂无| 亚洲一日韩欧美中文字幕在线| 亚洲av无码成人影院一区| 4338×亚洲全国最大色成网站| 亚洲AV午夜成人影院老师机影院|