91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PyTorch的深度學(xué)習(xí)入門教程之PyTorch的自動(dòng)梯度計(jì)算

ss ? 來源:雁回晴空 ? 作者:雁回晴空 ? 2021-02-16 15:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文參考PyTorch官網(wǎng)的教程,分為五個(gè)基本模塊來介紹PyTorch。為了避免文章過長,這五個(gè)模塊分別在五篇博文中介紹。

Part1:PyTorch簡(jiǎn)單知識(shí)

Part2:PyTorch的自動(dòng)梯度計(jì)算

Part3:使用PyTorch構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)

Part4:訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)分類器

Part5:數(shù)據(jù)并行化

本文是關(guān)于Part2的內(nèi)容。

Part2:PyTorch的自動(dòng)梯度計(jì)算

autograd package是PyTorch中所有神經(jīng)網(wǎng)絡(luò)的核心。先了解一些基本知識(shí),然后開始訓(xùn)練第一個(gè)神經(jīng)網(wǎng)絡(luò)。autograd package提供了Tensors上所有運(yùn)算的自動(dòng)求導(dǎo)功能。它是一個(gè)按運(yùn)行定義(define-by-run)的框架,這意味著反向傳播是依據(jù)代碼運(yùn)行情況而定義的,并且每一個(gè)單次迭代都可能不相同。

1 變量(Variable)

autograd.Variable 是這個(gè)package的中心類。它打包了一個(gè)Tensor,并且支持幾乎所有運(yùn)算。一旦你完成了你的計(jì)算,可以調(diào)用.backward(),所有梯度就可以自動(dòng)計(jì)算。

你可以使用.data屬性來訪問原始tensor。相對(duì)于變量的梯度值可以被積累到.grad中。

這里還有一個(gè)類對(duì)于自動(dòng)梯度的執(zhí)行是很重要的:Function(函數(shù))

變量和函數(shù)是相互關(guān)聯(lián)的,并且建立一個(gè)非循環(huán)圖。每一個(gè)變量有一個(gè).grad_fn屬性,它可以引用一個(gè)創(chuàng)建了變量的函數(shù)(除了那些用戶創(chuàng)建的變量——他們的grad_fn是空的)。

如果想要計(jì)算導(dǎo)數(shù),可以調(diào)用Variable上的.backward()。如果變量是標(biāo)量(只有一個(gè)元素),你不需要為backward()確定任何參數(shù)。但是,如果它有多個(gè)元素,你需要確定grad_output參數(shù)(這是一個(gè)具有匹配形狀的tensor)。

import torch
from torch.autograd import Variable

創(chuàng)建一個(gè)變量:

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

對(duì)變量做一個(gè)運(yùn)算:

y = x + 2
print(y)

y作為一個(gè)運(yùn)算的結(jié)果被創(chuàng)建,所以它有g(shù)rad_fn。

print(y.grad_fn)

在y上做更多的運(yùn)算:

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

print(z, out)

2 梯度(Gradients)

現(xiàn)在來做反向傳播。out.backward()等價(jià)于out.backward(torch.Tensor([1.0]))。

out.backward()

打印梯度 d(out)/dx

print(x.grad)

你應(yīng)該會(huì)得到一個(gè)元素為4.5的矩陣。

你可以使用autograd做很多瘋狂的事情。

x = torch.randn(3)
x = Variable(x, requires_grad=True)

y = x * 2
while y.data.norm() < 1000:
    y = y * 2

print(y)
gradients = torch.FloatTensor([0.1, 1.0, 0.0001])
y.backward(gradients)

print(x.grad)

責(zé)任編輯:xj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4838

    瀏覽量

    107823
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5599

    瀏覽量

    124405
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    813

    瀏覽量

    14853
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PyTorch 中RuntimeError分析

    ? 錯(cuò)誤原因 這個(gè) RuntimeError 是因?yàn)樵?PyTorch 中,upsample_nearest2d_out_frame(最近鄰2D上采樣)操作尚未對(duì) BFloat16 數(shù)據(jù)類型提供
    發(fā)表于 03-06 06:02

    Pytorch 與 Visionfive2 兼容嗎?

    Pytorch 與 Visionfive2 兼容嗎? $ pip3 install torch torchvision torchaudio --index-url https
    發(fā)表于 02-06 08:28

    機(jī)器學(xué)習(xí)深度學(xué)習(xí)中需避免的 7 個(gè)常見錯(cuò)誤與局限性

    無論你是剛入門還是已經(jīng)從事人工智能模型相關(guān)工作一段時(shí)間,機(jī)器學(xué)習(xí)深度學(xué)習(xí)中都存在一些我們需要時(shí)刻關(guān)注并銘記的常見錯(cuò)誤。如果對(duì)這些錯(cuò)誤置之不理,日后可能會(huì)引發(fā)諸多麻煩!只要我們密切關(guān)注
    的頭像 發(fā)表于 01-07 15:37 ?201次閱讀
    機(jī)器<b class='flag-5'>學(xué)習(xí)</b>和<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>中需避免的 7 個(gè)常見錯(cuò)誤與局限性

    【團(tuán)購】獨(dú)家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實(shí)戰(zhàn)課(11大系列課程,共5000+分鐘)

    (第10系列)、YOLOv8-Tiny工業(yè)優(yōu)化版(第9系列),滿足產(chǎn)線端設(shè)備算力限制,模型推理速度提升300%。 LabVIEW生態(tài)整合 作為工業(yè)自動(dòng)化領(lǐng)域主流開發(fā)環(huán)境,LabVIEW與深度學(xué)習(xí)的集成
    發(fā)表于 12-04 09:28

    【團(tuán)購】獨(dú)家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實(shí)戰(zhàn)課程(11大系列課程,共5000+分鐘)

    (第10系列)、YOLOv8-Tiny工業(yè)優(yōu)化版(第9系列),滿足產(chǎn)線端設(shè)備算力限制,模型推理速度提升300%。 LabVIEW生態(tài)整合 作為工業(yè)自動(dòng)化領(lǐng)域主流開發(fā)環(huán)境,LabVIEW與深度學(xué)習(xí)的集成
    發(fā)表于 12-03 13:50

    學(xué)習(xí)物聯(lián)網(wǎng)怎么入門?

    景等。同時(shí),學(xué)習(xí)物聯(lián)網(wǎng)的基本技術(shù),如傳感器技術(shù)、通信技術(shù)、云計(jì)算等,也是非常重要的。 其次,選擇適合自己的學(xué)習(xí)方式也是入門學(xué)習(xí)物聯(lián)網(wǎng)的重
    發(fā)表于 10-14 10:34

    如何在機(jī)器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    人士而言往往難以理解,人們也常常誤以為需要扎實(shí)的編程技能才能真正掌握并合理使用這項(xiàng)技術(shù)。事實(shí)上,這種印象忽視了該技術(shù)為機(jī)器視覺(乃至生產(chǎn)自動(dòng)化)帶來的潛力,因?yàn)?b class='flag-5'>深度學(xué)習(xí)并非只屬于計(jì)算機(jī)
    的頭像 發(fā)表于 09-10 17:38 ?905次閱讀
    如何在機(jī)器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    摩爾線程發(fā)布Torch-MUSA v2.1.1版本

    近日,摩爾線程發(fā)布其面向PyTorch深度學(xué)習(xí)框架的MUSA擴(kuò)展庫——Torch-MUSA v2.1.1。該版本在v2.1.0的基礎(chǔ)上,進(jìn)一步擴(kuò)展了對(duì)大規(guī)模深度
    的頭像 發(fā)表于 09-10 11:02 ?1040次閱讀

    自動(dòng)駕駛中Transformer大模型會(huì)取代深度學(xué)習(xí)嗎?

    持續(xù)討論。特別是在自動(dòng)駕駛領(lǐng)域,部分廠商開始嘗試將多模態(tài)大模型(MLLM)引入到感知、規(guī)劃與決策系統(tǒng),引發(fā)了“傳統(tǒng)深度學(xué)習(xí)是否已過時(shí)”的激烈爭(zhēng)論。然而,從技術(shù)原理、算力成本、安全需求與實(shí)際落地路徑等維度來看,Transforme
    的頭像 發(fā)表于 08-13 09:15 ?4188次閱讀
    <b class='flag-5'>自動(dòng)</b>駕駛中Transformer大模型會(huì)取代<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>嗎?

    Arm方案 基于Arm架構(gòu)的邊緣側(cè)設(shè)備(樹莓派或 NVIDIA Jetson Nano)上部署PyTorch模型

    本文將為你展示如何在樹莓派或 NVIDIA Jetson Nano 等基于 Arm 架構(gòu)的邊緣側(cè)設(shè)備上部署 PyTorch 模型。
    的頭像 發(fā)表于 07-28 11:50 ?2879次閱讀

    Nordic收購 Neuton.AI 關(guān)于產(chǎn)品技術(shù)的分析

    生成比傳統(tǒng)框架(如 TensorFlow、PyTorch 等)小 10 倍的模型,模型體積可低至個(gè)位數(shù) KB,并且推理速度更快、功耗更低。此次收購將 Neuton 的自動(dòng)化 TinyML 平臺(tái)
    發(fā)表于 06-28 14:18

    摩爾線程發(fā)布Torch-MUSA v2.0.0版本 支持原生FP8和PyTorch 2.5.0

    近日,摩爾線程正式發(fā)布Torch-MUSA v2.0.0版本,這是其面向PyTorch深度學(xué)習(xí)框架的MUSA擴(kuò)展庫的重要升級(jí)。新版本基于MUSA Compute Capability 3.1計(jì)
    的頭像 發(fā)表于 05-11 16:41 ?1722次閱讀

    海思SS626開發(fā)板

    識(shí)別/運(yùn)動(dòng)跟蹤等)。 主板集成常用視頻硬件接口,所有外設(shè)接口電路均通過嚴(yán)格的抗干擾測(cè)試,使產(chǎn)品在 EMC 及穩(wěn)定性方面 具有良好表現(xiàn);使用通過穩(wěn)定性測(cè)試及深度優(yōu)化的系統(tǒng)軟件(Linux 系統(tǒng)),支持業(yè)界主流深度學(xué)習(xí)框架(如 Ca
    發(fā)表于 04-24 10:04

    《RK3588核心板:AIoT邊緣計(jì)算的革命性引擎,能否解鎖智能物聯(lián)新范式?》

    學(xué)習(xí)模型,實(shí)現(xiàn)毫秒級(jí)響應(yīng)。 功能亮點(diǎn)與場(chǎng)景示例: 多模態(tài)AI融合:支持TensorFlow、PyTorch等主流框架模型部署,可應(yīng)用于智能零售中的行為識(shí)別系統(tǒng),通過攝像頭+紅外傳感器數(shù)據(jù)融合,精準(zhǔn)分析
    發(fā)表于 04-02 10:26

    有獎(jiǎng)直播 | @4/8 輕松部署,強(qiáng)大擴(kuò)展邊緣運(yùn)算 AI 新世代

    (RockchipRK3588),該方案以高性價(jià)比和易用性為特色,支持主流深度學(xué)習(xí)框架(如TensorFlow、PyTorch、ONNX),讓企業(yè)與開發(fā)者輕松邁入
    的頭像 發(fā)表于 03-27 16:31 ?832次閱讀
    有獎(jiǎng)直播 | @4/8 輕松部署,強(qiáng)大擴(kuò)展邊緣運(yùn)算 AI 新世代