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

Torch7 開源 PyTorch:Python 優(yōu)先深度學習框架

人工智能 深度學習
PyTorch 的設計思路是線性、直觀且易于使用。當你需要執(zhí)行一行代碼時,它會忠實執(zhí)行。PyTorch 沒有異步的世界觀。當你打開調(diào)試器,或接收到錯誤代碼和 stack trace 時,你會發(fā)現(xiàn)理解這些信息是非常輕松的。

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

使用強大的 GPU 加速的 Tensor 計算(類似 numpy)

構(gòu)建于基于 tape 的 autograd 系統(tǒng)的深度神經(jīng)網(wǎng)絡

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

PyTorch 介紹

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

使用 PyTorch 的原因通常有二:

作為 numpy 的替代,以便使用強大的 GPU;

將其作為一個能提供***的靈活性和速度的深度學習研究平臺。

進一步闡述如下:

一個支持 GPU 的 Tensor 庫

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

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

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

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

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

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

autograd:https://github.com/twitter/torch-autograd

autograd:https://github.com/HIPS/autograd

Chainer:http://chainer.org/

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

Python 優(yōu)先

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

命令式體驗

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

快速精益

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

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

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

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

輕松拓展

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

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

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

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

安裝

二進制

Anaconda

conda install pytorch torchvision -c soumith

來自源

Anaconda 環(huán)境的說明

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

NVIDIA CUDA 7.5 或之上的版本

NVIDIA CuDNN v5.x

安裝可選依賴包

  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 

安裝 PyTorch

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

開始使用

從以下三點開始學習使用 PyTorch:

教程:開始了解并使用 PyTorch 的教程(https://github.com/pytorch/tutorials)。

案例:跨所有領域的輕松理解 PyTorch 代碼(https://github.com/pytorch/examples)。

API 參考:http://pytorch.org/docs/

交流

論壇:討論實現(xiàn)、研究等(http://discuss.pytorch.org)

GitHub 問題反饋:bug 通知、特征要求、安裝問題、RFC、想法等。

Slack:通常聊天、在線討論、合作等(https://pytorch.slack.com/)。

郵件訂閱沒有騷擾信件、單向郵件推送 PyTorch 的重要通知。訂閱:http://eepurl.com/cbG0rv。

發(fā)布和貢獻

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

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

如果你愿意為 PyTorch 提供新功能、實用函數(shù)或核心擴展,請先開一個 issue 與大家討論一下。請注意:在未經(jīng)討論的情況下提交的 PR 可能會導致退回,因為我們可能會采取不同的解決方式。

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

分布式 PyTorch

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

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

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

開發(fā)團隊

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

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

責任編輯:武曉燕 來源: 網(wǎng)絡大數(shù)據(jù)
相關推薦

2017-01-19 16:21:12

PyTorch軟件深度學習

2017-04-26 08:31:10

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

2017-03-06 15:25:47

PyTorchMxnet深度學習

2021-11-05 12:59:51

深度學習PytorchTenso

2022-11-25 07:35:57

PyTorchPython學習框架

2018-07-03 15:59:14

KerasPyTorch深度學習

2019-03-06 09:55:54

Python 開發(fā)編程語言

2019-09-17 10:23:45

深度學習開源人工智能

2020-03-20 14:33:29

人工智能深度學習技術

2018-06-29 09:01:51

開源技術 深度學習

2018-04-11 17:50:14

深度學習PyTorchTensorFlow

2019-09-01 19:19:04

TensorFlowPyTorch深度學習

2015-11-17 09:35:26

開源學習框架

2017-01-05 10:07:33

大數(shù)據(jù)TheanoCaffe

2022-01-06 10:04:17

深度學習編程人工智能

2019-01-21 09:52:26

深度學習開源人工智能

2020-02-28 15:20:38

深度學習開源人工智能

2019-06-26 05:29:44

深度學習KerasPyTorch

2022-09-15 14:40:38

PyTorchFAIRTorch

2019-11-19 09:58:16

機器學習人工智能框架
點贊
收藏

51CTO技術棧公眾號