自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

重磅 | Torch7團(tuán)隊開源PyTorch:Python優(yōu)先的深度學(xué)習(xí)框架

開發(fā) 開發(fā)工具
據(jù)官網(wǎng)介紹,PyTorch 是一個 Python 優(yōu)先的深度學(xué)習(xí)框架,能夠在強(qiáng)大的 GPU 加速基礎(chǔ)上實(shí)現(xiàn)張量和動態(tài)神經(jīng)網(wǎng)絡(luò)。而Torch7 團(tuán)隊開源了 PyTorch。

Torch7 團(tuán)隊開源了 PyTorch。據(jù)官網(wǎng)介紹,PyTorch 是一個 Python 優(yōu)先的深度學(xué)習(xí)框架,能夠在強(qiáng)大的 GPU 加速基礎(chǔ)上實(shí)現(xiàn)張量和動態(tài)神經(jīng)網(wǎng)絡(luò)。

  • 官網(wǎng):http://pytorch.org
  • GitHub:https://github.com/pytorch/pytorch

PyTorch 是一個 Python 軟件包,其提供了兩種高層面的功能:

  • 使用強(qiáng)大的 GPU 加速的 Tensor 計算(類似 numpy)
  • 構(gòu)建于基于 tape 的 autograd 系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)

如有需要,你也可以復(fù)用你最喜歡的 Python 軟件包(如 numpy、scipy 和 Cython)來擴(kuò)展 PyTorch。目前這個版本是早期的 Beta 版,我們很快就會加入更多的功能。

Python 軟件包

一、PyTorch 介紹

在粒度層面(granular level)上,PyTorch 庫包含了以下組件:

PyTorch 庫包含的組件

使用 PyTorch 的原因通常有二:

  • 作為 numpy 的替代,以便使用強(qiáng)大的 GPU;
  • 將其作為一個能提供***的靈活性和速度的深度學(xué)習(xí)研究平臺。

進(jìn)一步闡述如下:

1. 一個支持 GPU 的 Tensor 庫

如果你使用 numpy,那么你就使用過 Tensor(即 ndarray)。

 Tensor

PyTorch 提供了支持 CPU 和 GPU 的 Tensor,可以極大地加速計算。

我們提供了各種各樣的用于加速的張量例程(tensor routine),可以滿足你的各種科學(xué)計算需求,比如 slicing、索引、數(shù)學(xué)運(yùn)算、線性代數(shù)、reduction。而且它們非???

2. 動態(tài)神經(jīng)網(wǎng)絡(luò):基于 tape 的 autograd

PyTorch 有一種獨(dú)特的神經(jīng)網(wǎng)絡(luò)構(gòu)建方法:使用和重放 tape recorder。TensorFlow、Theano、Caffe 和 CNTK 等大部分框架對世界的視角都是靜態(tài)的,讓人們必須先構(gòu)建一個神經(jīng)網(wǎng)絡(luò),然后一次又一次地使用同樣的結(jié)構(gòu);如果要想改變該網(wǎng)絡(luò)的行為,就必須完全從頭開始。

但使用 PyTorch,通過一種我們稱之為「Reverse-mode auto-differentiation(反向模式自動微分)」的技術(shù),你可以零延遲或零成本地任意改變你的網(wǎng)絡(luò)的行為。我們靈感來自關(guān)于這一主題的許多研究論文以及當(dāng)前和過去的研究成果,比如 autograd、autograd、Chainer 等。

  • autograd:https://github.com/twitter/torch-autograd
  • autograd:https://github.com/HIPS/autograd
  • Chainer:http://chainer.org/

盡管這項技術(shù)并非 PyTorch 獨(dú)有,但它仍然是到目前為止最快的實(shí)現(xiàn)。你能為你的瘋狂研究獲得***的速度和***的靈活性。

「Reverse-mode auto-differentiation(反向模式自動微分)」的技術(shù)

3. Python 優(yōu)先

PyTorch 不是簡單地在整體 C++框架上綁定 Python。它深入構(gòu)建在 Python 之上。你可以像使用 numpy / scipy / scikit-learn 那樣輕松地使用 PyTorch。你可以用你喜歡的庫和包(如 Cython 和 Numba)在 Python 中編寫新的神經(jīng)網(wǎng)絡(luò)層。我們的目標(biāo)是盡量讓你不用重新發(fā)明輪子。

4. 命令式體驗(yàn)

PyTorch 的設(shè)計思路是線性、直觀且易于使用。當(dāng)你需要執(zhí)行一行代碼時,它會忠實(shí)執(zhí)行。PyTorch 沒有異步的世界觀。當(dāng)你打開調(diào)試器,或接收到錯誤代碼和 stack trace 時,你會發(fā)現(xiàn)理解這些信息是非常輕松的。Stack-trace 點(diǎn)將會直接指向代碼定義的確切位置。我們不希望你在 debug 時會因?yàn)殄e誤的指向或異步和不透明的引擎而浪費(fèi)時間。

5. 快速精益

PyTorch 具有輕巧的框架。我們集成了各種加速庫,如 Intel MKL、英偉達(dá)的 CuDNN 和 NCCL 來優(yōu)化速度。在其核心,它的 CPU 和 GPU Tensor 與神經(jīng)網(wǎng)絡(luò)后端(TH、THC、THNN、THCUNN)被編寫成了獨(dú)立的庫,帶有 C99 API。

這種配置是成熟的,我們已經(jīng)使用了多年。

因此,PyTorch 非常高效——無論你需要運(yùn)行何種尺寸的神經(jīng)網(wǎng)絡(luò)。

在 PyTorch 中,內(nèi)存的使用效率相比 Torch 或其它方式都更加高效。我們?yōu)?GPU 編寫了自定義內(nèi)存分配器,以保證深度學(xué)習(xí)模型在運(yùn)行時有***的內(nèi)存效率,這意味著在相同硬件的情況下,你可以訓(xùn)練比以前更為復(fù)雜的深度學(xué)習(xí)模型。

6. 輕松拓展

編寫新的神經(jīng)網(wǎng)絡(luò)模塊,或與 PyTorch 的 Tensor API 相接的設(shè)計都是很直接的,不太抽象。

你可以使用 Torch API 或你喜歡的基于 numpy 的庫(比如 Scipy)來通過 Python 寫新的神經(jīng)網(wǎng)絡(luò)層。

如果你想用 C++ 寫網(wǎng)絡(luò)層,我們提供了基于 cffi(http://cffi.readthedocs.io/en/latest/)的擴(kuò)展 API,其非常有效且有較少的樣板文件。

不需要寫任何 wrapper code。這里有一個示例:https://github.com/pytorch/extension-ffi

二、安裝

1. 二進(jìn)制

Anaconda

  1. conda install pytorch torchvision -c soumith 

2. 來自源

Anaconda 環(huán)境的說明。

如果你想要用 CUDA 支持編譯、安裝:

  • NVIDIA CUDA 7.5 或之上的版本
  • NVIDIA CuDNN v5.x

3. 安裝可選依賴包

  1. export CMAKE_PREFIX_PATH=[anaconda root directory] 
  2. conda install numpy mkl setuptools cmake gcc cffi 
  3. conda install -c soumith magma-cuda75 # or magma-cuda80 if CUDA 8.0 

4. 安裝 PyTorch

  1. export MACOSX_DEPLOYMENT_TARGET=10.9 # if OSX 
  2. pip install -r requirements.txt 
  3. python setup.py install 

三、開始使用

從以下三點(diǎn)開始學(xué)習(xí)使用 PyTorch:

  • 教程:開始了解并使用 PyTorch 的教程(https://github.com/pytorch/tutorials)。
  • 案例:跨所有領(lǐng)域的輕松理解 PyTorch 代碼(https://github.com/pytorch/examples)。
  • API 參考:http://pytorch.org/docs/

四、交流

  • 論壇:討論實(shí)現(xiàn)、研究等(http://discuss.pytorch.org)
  • GitHub 問題反饋:bug 通知、特征要求、安裝問題、RFC、想法等。
  • Slack:通常聊天、在線討論、合作等(https://pytorch.slack.com/)。
  • 郵件訂閱沒有騷擾信件、單向郵件推送 PyTorch 的重要通知。訂閱:http://eepurl.com/cbG0rv。

五、發(fā)布和貢獻(xiàn)

PyTorch 的發(fā)布周期(主版本)為 90 天。目前的版本是 v0.1.6 Beta,我們期望在發(fā)布前盡量減少 bug。如果你發(fā)現(xiàn)了錯誤,歡迎向我們提交:

https://github.com/pytorch/pytorch/issues

我們歡迎所有形式的貢獻(xiàn)。如果你希望幫助解決 bug,請直接上手,無需多作討論。

如果你愿意為 PyTorch 提供新功能、實(shí)用函數(shù)或核心擴(kuò)展,請先開一個 issue 與大家討論一下。請注意:在未經(jīng)討論的情況下提交的 PR 可能會導(dǎo)致退回,因?yàn)槲覀兛赡軙扇〔煌慕鉀Q方式。

在下一個版本中,我們計劃推出三大新功能:

1、分布式 PyTorch

(這里已經(jīng)有一個嘗試性的實(shí)現(xiàn)了:https://github.com/apaszke/pytorch-dist)

2、反反向(Backward of Backward):在反向傳播的過程中進(jìn)行過程優(yōu)化。一些過去和最近的研究如 Double Backprop 和 Unrolled GANs 會需要這種特性。

3、用于 autograd 的 Lazy Execution Engine:這將允許我們可以通過引入緩存和 JIT 編譯器來優(yōu)化 autograd 代碼。

六、開發(fā)團(tuán)隊

PyTorch 是一個社區(qū)驅(qū)動的項目,由經(jīng)驗(yàn)豐富的工程師和研究者開發(fā)。

目前,PyTorch 由 Adam Paszke、Sam Gross 與 Soumith Chintala 牽頭開發(fā)。其他主要貢獻(xiàn)者包括 Sergey Zagoruyko、Adam Lerer、Francisco Massa、Andreas Kopf、James Bradbury、Zeming Lin、田淵棟,Guillaume Lample、Marat Dukhan、Natalia Gimelshein 等人。

Note:本項目與 hughperkins/pytorch 有相同的名字,但無關(guān)聯(lián)。

【本文是51CTO專欄機(jī)構(gòu)機(jī)器之心的原創(chuàng)譯文,微信公眾號“機(jī)器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2017-03-01 09:05:27

PyTorchPython框架

2017-04-26 08:31:10

神經(jīng)網(wǎng)絡(luò)自然語言PyTorch

2017-03-06 15:25:47

PyTorchMxnet深度學(xué)習(xí)

2021-11-05 12:59:51

深度學(xué)習(xí)PytorchTenso

2022-03-17 14:19:19

Web3社區(qū)團(tuán)隊

2017-02-15 14:36:12

開源大數(shù)據(jù)TensorFlowO

2022-11-25 07:35:57

PyTorchPython學(xué)習(xí)框架

2019-03-06 09:55:54

Python 開發(fā)編程語言

2018-07-03 15:59:14

KerasPyTorch深度學(xué)習(xí)

2019-09-17 10:23:45

深度學(xué)習(xí)開源人工智能

2017-02-20 19:23:13

2015-11-17 09:35:26

開源學(xué)習(xí)框架

2018-04-11 17:50:14

深度學(xué)習(xí)PyTorchTensorFlow

2020-03-20 14:33:29

人工智能深度學(xué)習(xí)技術(shù)

2012-03-01 10:43:38

Windows 8預(yù)覽版

2019-09-01 19:19:04

TensorFlowPyTorch深度學(xué)習(xí)

2018-06-29 09:01:51

開源技術(shù) 深度學(xué)習(xí)

2019-01-21 09:52:26

深度學(xué)習(xí)開源人工智能

2018-10-29 15:50:23

深度學(xué)習(xí)工程實(shí)踐技術(shù)

2022-01-04 10:19:23

架構(gòu)運(yùn)維技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號