欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytorch簡(jiǎn)介

 更新時(shí)間:2020年11月11日 14:51:32   作者:bestrivern  
Pytorch是torch的python版本,是由Facebook開(kāi)源的神經(jīng)網(wǎng)絡(luò)框架,專(zhuān)門(mén)針對(duì) GPU 加速的深度神經(jīng)網(wǎng)絡(luò)(DNN)編程。這篇文章給大家介紹pytorch的相關(guān)知識(shí),感興趣的朋友一起看看吧

一.Pytorch是什么?

  Pytorch是torch的python版本,是由Facebook開(kāi)源的神經(jīng)網(wǎng)絡(luò)框架,專(zhuān)門(mén)針對(duì) GPU 加速的深度神經(jīng)網(wǎng)絡(luò)(DNN)編程。Torch 是一個(gè)經(jīng)典的對(duì)多維矩陣數(shù)據(jù)進(jìn)行操作的張量(tensor )庫(kù),在機(jī)器學(xué)習(xí)和其他數(shù)學(xué)密集型應(yīng)用有廣泛應(yīng)用。與Tensorflow的靜態(tài)計(jì)算圖不同,pytorch的計(jì)算圖是動(dòng)態(tài)的,可以根據(jù)計(jì)算需要實(shí)時(shí)改變計(jì)算圖。但由于Torch語(yǔ)言采用 Lua,導(dǎo)致在國(guó)內(nèi)一直很小眾,并逐漸被支持 Python 的 Tensorflow 搶走用戶。作為經(jīng)典機(jī)器學(xué)習(xí)庫(kù) Torch 的端口,PyTorch 為 Python 語(yǔ)言使用者提供了舒適的寫(xiě)代碼選擇。

二.為什么選擇 Pytorch?

 1.簡(jiǎn)潔:

  PyTorch的設(shè)計(jì)追求最少的封裝,盡量避免重復(fù)造輪子。不像 TensorFlow 中充斥著session、graph、operation、name_scope、variable、tensor、layer等全新的概念,PyTorch 的設(shè)計(jì)遵循tensor→variable(autograd)→nn.Module 三個(gè)由低到高的抽象層次,分別代表高維數(shù)組(張量)、自動(dòng)求導(dǎo)(變量)和神經(jīng)網(wǎng)絡(luò)(層/模塊),而且這三個(gè)抽象之間聯(lián)系緊密,可以同時(shí)進(jìn)行修改和操作。 簡(jiǎn)潔的設(shè)計(jì)帶來(lái)的另外一個(gè)好處就是代碼易于理解。PyTorch的源碼只有TensorFlow的十分之一左右,更少的抽象、更直觀的設(shè)計(jì)使得PyTorch的源碼十分易于閱讀。

2.速度:

  PyTorch 的靈活性不以速度為代價(jià),在許多評(píng)測(cè)中,PyTorch 的速度表現(xiàn)勝過(guò) TensorFlow和Keras 等框架??蚣艿倪\(yùn)行速度和程序員的編碼水平有極大關(guān)系,但同樣的算法,使用PyTorch實(shí)現(xiàn)的那個(gè)更有可能快過(guò)用其他框架實(shí)現(xiàn)的。

3.易用:

  PyTorch 是所有的框架中面向?qū)ο笤O(shè)計(jì)的最優(yōu)雅的一個(gè)。PyTorch的面向?qū)ο蟮慕涌谠O(shè)計(jì)來(lái)源于Torch,而Torch的接口設(shè)計(jì)以靈活易用而著稱(chēng),Keras作者最初就是受Torch的啟發(fā)才開(kāi)發(fā)了Keras。PyTorch繼承了Torch的衣缽,尤其是API的設(shè)計(jì)和模塊的接口都與Torch高度一致。PyTorch的設(shè)計(jì)最符合人們的思維,它讓用戶盡可能地專(zhuān)注于實(shí)現(xiàn)自己的想法,即所思即所得,不需要考慮太多關(guān)于框架本身的束縛。

4.活躍的社區(qū):

  PyTorch 提供了完整的文檔,循序漸進(jìn)的指南,作者親自維護(hù)的論壇 供用戶交流和求教問(wèn)題。Facebook 人工智能研究院對(duì) PyTorch 提供了強(qiáng)力支持,作為當(dāng)今排名前三的深度學(xué)習(xí)研究機(jī)構(gòu),F(xiàn)AIR的支持足以確保PyTorch獲得持續(xù)的開(kāi)發(fā)更新,不至于像許多由個(gè)人開(kāi)發(fā)的框架那樣曇花一現(xiàn)。

三.PyTorch 的架構(gòu)是怎樣的?

  PyTorch(Caffe2) 通過(guò)混合前端,分布式訓(xùn)練以及工具和庫(kù)生態(tài)系統(tǒng)實(shí)現(xiàn)快速,靈活的實(shí)驗(yàn)和高效生產(chǎn)。PyTorch 和 TensorFlow 具有不同計(jì)算圖實(shí)現(xiàn)形式,TensorFlow 采用靜態(tài)圖機(jī)制(預(yù)定義后再使用),PyTorch采用動(dòng)態(tài)圖機(jī)制(運(yùn)行時(shí)動(dòng)態(tài)定義)。PyTorch 具有以下高級(jí)特征:

  • 混合前端:新的混合前端在急切模式下提供易用性和靈活性,同時(shí)無(wú)縫轉(zhuǎn)換到圖形模式,以便在C ++運(yùn)行時(shí)環(huán)境中實(shí)現(xiàn)速度,優(yōu)化和功能。   
  • 分布式訓(xùn)練:通過(guò)利用本地支持集合操作的異步執(zhí)行和可從Python和C ++訪問(wèn)的對(duì)等通信,優(yōu)化了性能。   
  • Python優(yōu)先: PyTorch為了深入集成到Python中而構(gòu)建的,因此它可以與流行的庫(kù)和Cython和Numba等軟件包一起使用。  
  • 豐富的工具和庫(kù):活躍的研究人員和開(kāi)發(fā)人員社區(qū)建立了豐富的工具和庫(kù)生態(tài)系統(tǒng),用于擴(kuò)展PyTorch并支持從計(jì)算機(jī)視覺(jué)到強(qiáng)化學(xué)習(xí)等領(lǐng)域的開(kāi)發(fā)。   
  • 本機(jī)ONNX支持:以標(biāo)準(zhǔn)ONNX(開(kāi)放式神經(jīng)網(wǎng)絡(luò)交換)格式導(dǎo)出模型,以便直接訪問(wèn)與ONNX兼容的平臺(tái),運(yùn)行時(shí),可視化工具等。   
  • C++前端:C++前端是PyTorch的純C++接口,它遵循已建立的Python前端的設(shè)計(jì)和體系結(jié)構(gòu)。它旨在實(shí)現(xiàn)高性能,低延遲和裸機(jī)C++應(yīng)用程序的研究。 使用GPU和CPU優(yōu)化的深度學(xué)習(xí)張量庫(kù)。

四.Pytorch 與 tensorflow 之間的差異在哪里?

  上面也將了PyTorch 最大優(yōu)勢(shì)是建立的神經(jīng)網(wǎng)絡(luò)是動(dòng)態(tài)的, 對(duì)比靜態(tài)的 Tensorflow, 它能更有效地處理一些問(wèn)題, 比如說(shuō) RNN 變化時(shí)間長(zhǎng)度的輸出。各有各的優(yōu)勢(shì)和劣勢(shì)。兩者都是大公司發(fā)布的, Tensorflow(Google)宣稱(chēng)在分布式訓(xùn)練上下了很大的功夫, 那就默認(rèn) Tensorflow 在分布式訓(xùn)練上要超出 Pytorch(Facebook),還有tensorboard可視化工具, 但是 Tensorflow 的靜態(tài)計(jì)算圖使得在 RNN 上有一點(diǎn)點(diǎn)被動(dòng) (雖然它用其他途徑解決了), 不過(guò)用 PyTorch 的時(shí)候, 會(huì)對(duì)這種動(dòng)態(tài)的 RNN 有更好的理解。而且 Tensorflow 的高度工業(yè)化, 它的底層代碼很難看懂, Pytorch 好那么一點(diǎn)點(diǎn), 如果深入 PytorchAPI, 至少能比看 Tensorflow 多看懂一點(diǎn)點(diǎn) Pytorch 的底層在干啥。

五.Pytorch有哪些常用工具包?

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

到此這篇關(guān)于pytorch簡(jiǎn)介的文章就介紹到這了,更多相關(guān)pytorch簡(jiǎn)介內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論