最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch框架的詳細(xì)介紹與應(yīng)用詳解

 更新時間:2023年04月10日 10:59:23   作者:帥奇奇的博客  
這篇文章主要介紹了pytorch框架的詳細(xì)介紹與應(yīng)用,Torch?是一個經(jīng)典的對多維矩陣數(shù)據(jù)進(jìn)行操作的張量(tensor?)庫,在機(jī)器學(xué)習(xí)和其他數(shù)學(xué)密集型應(yīng)用有廣泛應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下

pytorch框架的詳細(xì)介紹與應(yīng)用

最近小阿奇在搭建模型的時候,發(fā)現(xiàn)pytorch框架十分的方便好用。所以特地整理了這個帖子,幫助自己捋一下思路打個基礎(chǔ),也方便大家交流學(xué)習(xí)。很用心的一篇博客哦~

一.pytorch概述

1.pytorch概念

Pytorch是torch的python版本,是由Facebook開源的神經(jīng)網(wǎng)絡(luò)框架,專門針對 GPU 加速的深度神經(jīng)網(wǎng)絡(luò)(DNN)編程。Torch 是一個經(jīng)典的對多維矩陣數(shù)據(jù)進(jìn)行操作的張量(tensor )庫,在機(jī)器學(xué)習(xí)和其他數(shù)學(xué)密集型應(yīng)用有廣泛應(yīng)用。與Tensorflow的靜態(tài)計(jì)算圖不同,pytorch的計(jì)算圖是動態(tài)的,可以根據(jù)計(jì)算需要實(shí)時改變計(jì)算圖。

2.pytorch與tensorflow的區(qū)別

a.pytorch相對于tensorflow出現(xiàn)的較晚一些,主要是針對深度神經(jīng)網(wǎng)絡(luò)而開發(fā)出來,這幾年發(fā)展也是十分不錯;tensorflow出現(xiàn)的較早,它的優(yōu)點(diǎn)是分布式計(jì)算,在面臨較大數(shù)據(jù)時相對效率較高;
b.pytorch是動態(tài)框架,tensorflow是靜態(tài)框架,主要區(qū)別就是靜態(tài)框架在構(gòu)建計(jì)算圖的時候提前構(gòu)建好,之后則無法改變,固定了計(jì)算的流程,勢必帶來了不靈活性,如果我們要改變計(jì)算的邏輯,或者隨著時間變化的計(jì)算邏輯,這樣的動態(tài)計(jì)算TensorFlow是實(shí)現(xiàn)不了的;而動態(tài)框架可以根據(jù)具體計(jì)算情況進(jìn)行改變
c.tensorflow的庫相對完備齊全,而pytorch還在完善中;所以tensorflow在可視化方面十分出色;
d.pytorch對python十分友好,更加python化的框架,而tensorflow的話更加像獨(dú)立的語言和框架

3.pytorch包含的內(nèi)容

1. overview

pytorch 由低層到上層主要有三大塊功能模塊,如下圖所示

1.1 張量計(jì)算引擎(tensor computation)
Tensor 計(jì)算引擎,類似 numpy 和 matlab,基本對象是tensor(類比 numpy 中的 ndarray 或 matlab 中的 array)。除提供基于 CPU 的常用操作的實(shí)現(xiàn)外,pytorch 還提供了高效的 GPU 實(shí)現(xiàn),這對于深度學(xué)習(xí)至關(guān)重要。

1.2 自動求導(dǎo)機(jī)制(autograd)
由于深度學(xué)習(xí)模型日趨復(fù)雜,因此,對自動求導(dǎo)的支持對于學(xué)習(xí)框架變得必不可少。pytorch 采用了動態(tài)求導(dǎo)機(jī)制,使用類似方法的框架包括: chainer,dynet。作為對比,theano,tensorflow 采用靜態(tài)自動求導(dǎo)機(jī)制。

1.3 神經(jīng)網(wǎng)絡(luò)的高層庫(NN)
pytorch 還提供了高層的。對于常用的網(wǎng)絡(luò)結(jié)構(gòu),如全連接、卷積、RNN 等。同時,pytorch 還提供了常用的、optimizer 及參數(shù)。

2. 自定義 Module

2.1 Function
Function 是 pytorch 自動求導(dǎo)機(jī)制的核心類。Function 是無參數(shù)或者說無狀態(tài)的,它只負(fù)責(zé)接收輸入,返回相應(yīng)的輸出;對于反向,它接收輸出相應(yīng)的梯度,返回輸入相應(yīng)的梯度。
2.2 Module
類似于 Function,Module 對象也是 callable ,輸入和輸出也是 Variable。不同的是,Module 是[可以]有參數(shù)的。Module 包含兩個主要部分:參數(shù)及計(jì)算邏輯(Function 調(diào)用)。由于ReLU激活函數(shù)沒有參數(shù),這里我們以最基本的全連接層為例來說明如何自定義Module。

二.pytorch常用模塊

名稱作用
torch類似 NumPy 的張量庫,強(qiáng) GPU 支持 ;
torch.autograd基于 tape 的自動區(qū)別庫,支持 torch 之中的所有可區(qū)分張量運(yùn)行;
torch.nn為最大化靈活性未涉及、與 autograd 深度整合的神經(jīng)網(wǎng)絡(luò)庫;
torch.optim與 torch.nn 一起使用的優(yōu)化包,包含 SGD、RMSProp、LBFGS、Adam 等標(biāo)準(zhǔn)優(yōu)化方式;
torch.multiprocessingpython 多進(jìn)程并發(fā),進(jìn)程之間 torch Tensors 的內(nèi)存共享;
torch.utils數(shù)據(jù)載入器。具有訓(xùn)練器和其他便利功能;
torch.legacy(.nn/.optim)處于向后兼容性考慮,從 Torch 移植來的 legacy 代碼
torchvision獨(dú)立于pytorch的關(guān)于圖像操作的一些方便工具庫

和數(shù)值相關(guān)的

Tensor
Variable
Parameter

Tensor:
PyTorch中的計(jì)算基本都是基于Tensor的,可以說是PyTorch中的基本計(jì)算單元。

Variable:
Tensor的一個Wrapper,其中保存了Variable的創(chuàng)造者,Variable的值(tensor),還有Variable的梯度(Variable)。自動求導(dǎo)機(jī)制的核心組件,因?yàn)樗粌H保存了 變量的值,還保存了變量是由哪個op產(chǎn)生的。這在反向傳導(dǎo)的過程中是十分重要的。
Variable的前向過程的計(jì)算包括兩個部分的計(jì)算,一個是其值的計(jì)算(即,Tensor的計(jì)算),還有就是Variable標(biāo)簽的計(jì)算。標(biāo)簽指的是什么呢?如果您看過PyTorch的官方文檔 Excluding subgraphs from backward 部分的話,您就會發(fā)現(xiàn)Variable還有兩個標(biāo)簽:requires_grad和volatile。標(biāo)簽的計(jì)算指的就是這個。

Parameter:
這個類是Variable的一個子集,PyTorch給出這個類的定義是為了在Module(下面會談到)中添加模型參數(shù)方便。

模型相關(guān)的

Function
Module

Function:
如果您想在PyTorch中自定義OP的話,您需要繼承這個類,您需要在繼承的時候復(fù)寫forward和backward方法,可能還需要復(fù)寫__init__方法(由于篇幅控制,這里不再詳細(xì)贅述如果自定義OP)。您需要在forward中定義OP,在backward說明如何計(jì)算梯度。
關(guān)于Function,還需要知道的一點(diǎn)就是,F(xiàn)unction中forward和backward方法中進(jìn)行計(jì)算的類型都是Tensor,而不是我們傳入的Variable。計(jì)算完forward和backward之后,會包裝成Varaible返回。這種設(shè)定倒是可以理解的,因?yàn)镺P是一個整體嘛,OP內(nèi)部的計(jì)算不需要記錄creator

Module:
這個類和Function是有點(diǎn)區(qū)別的,回憶一下,我們定義Function的時候,F(xiàn)unciton本身是不需要變量的,而Module是變量和Function的結(jié)合體。在某些時候,我們更傾向稱這種結(jié)構(gòu)為Layer。但是這里既然這么叫,那就這么叫吧。

Module實(shí)際上是一個容器,我們可以繼承Module,在里面加幾個參數(shù),從而實(shí)現(xiàn)一個簡單全連接層。我們也可以繼承Module,在里面加入其它Module,從而實(shí)現(xiàn)整個VGG結(jié)構(gòu)。

到此這篇關(guān)于pytorch框架的詳細(xì)介紹與應(yīng)用的文章就介紹到這了,更多相關(guān)pytorch框架介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python溫度轉(zhuǎn)換實(shí)例分析

    Python溫度轉(zhuǎn)換實(shí)例分析

    這篇文章主要介紹了Python溫度轉(zhuǎn)換實(shí)例分析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python循環(huán)之彩色圓環(huán)實(shí)現(xiàn)示例

    python循環(huán)之彩色圓環(huán)實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了python循環(huán)之彩色圓環(huán)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • python實(shí)現(xiàn)指定字符串補(bǔ)全空格的方法

    python實(shí)現(xiàn)指定字符串補(bǔ)全空格的方法

    這篇文章主要介紹了python實(shí)現(xiàn)指定字符串補(bǔ)全空格的方法,涉及Python中rjust,ljust和center方法的使用技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • Python的Django框架使用入門指引

    Python的Django框架使用入門指引

    這篇文章主要介紹了Python的Django框架使用入門指引,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Flask藍(lán)圖學(xué)習(xí)教程

    Flask藍(lán)圖學(xué)習(xí)教程

    在Flask中,使用藍(lán)圖Blueprint來分模塊組織管理。藍(lán)圖實(shí)際可以理解為是一個存儲一組視圖方法的容器對象,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Python實(shí)現(xiàn)網(wǎng)站表單提交和模板

    Python實(shí)現(xiàn)網(wǎng)站表單提交和模板

    今天小編就為大家分享一篇關(guān)于Python實(shí)現(xiàn)網(wǎng)站表單提交和模板,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Python中的基本數(shù)據(jù)類型講解

    Python中的基本數(shù)據(jù)類型講解

    這篇文章介紹了Python中的基本數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Python通過2種方法輸出帶顏色字體

    Python通過2種方法輸出帶顏色字體

    這篇文章主要介紹了python通過2種方法輸出帶顏色字體,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • python中異常報錯處理方法匯總

    python中異常報錯處理方法匯總

    之前在學(xué)習(xí)python的時候有整理過python異常處理的文章,不夠簡單也不夠完整,所以決定再整理一篇,算做補(bǔ)充,大家學(xué)習(xí)一下,就可以自己思考解決方法了,希望對大家能夠有所幫助
    2016-11-11
  • python編寫暴力破解zip文檔程序的實(shí)例講解

    python編寫暴力破解zip文檔程序的實(shí)例講解

    下面小編就為大家分享一篇python編寫暴力破解zip文檔程序的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論

永丰县| 当雄县| 遂宁市| 瑞安市| 南汇区| 梧州市| 威信县| 金沙县| 疏附县| 鄯善县| 呼伦贝尔市| 巨野县| 松滋市| 衡阳市| 百色市| 神木县| 望奎县| 星座| 大庆市| 固阳县| 文安县| 肃南| 宁蒗| 肇庆市| 汤阴县| 定州市| 浪卡子县| 和田市| 冷水江市| 集贤县| 威宁| 兴城市| 三台县| 交城县| 莲花县| 米脂县| 延吉市| 安国市| 高淳县| 阳谷县| 绥德县|