Facebook 發布開源框架 PyTorch, Torch 終於被移植到 Python 生態...

2020-12-14 雷鋒網

本周,Facebook 的 AI 研究團隊發布了一個 Python 工具包,專門針對 GPU 加速的深度神經網絡(DNN)編程。它有望輔助、或在一定程度上替代,現有的 Python 數學、統計庫(比如 NumPy)。它實現了機器學習框架 Torch 在 Python 語言環境的執行。開發團隊表示,除 Facebook之外,它還已經被推特、卡內基梅隆大學和 Salesforce 等機構採用。

使用 Pytorch 的機構

Torch 是一個十分老牌、對多維矩陣數據進行操作的張量(tensor )庫,在機器學習和其他數學密集型應用有廣泛應用。但由於其語言採用 Lua,導致在國內一直很小眾,並逐漸被支持 Python 的 Tensorflow 搶走用戶。如今,作為經典機器學習庫 Torch 的埠,PyTorch 為 Python 語言使用者提供了舒適的寫代碼選擇。雷鋒網此前對 Torch 做過介紹。詳情請看盤點四大民間機器學習開源框架:Theano、Caffe、Torch 和 SciKit-learn 。

PyTorch 的特點和優勢

PyTorch 提供了:

PyTorch 的首要優勢是,它處於機器學習第一大語言 Python 的生態圈之中,使得開發者能接入廣大的 Python 庫和軟體。因此,Python 開發者能夠用他們熟悉的風格寫代碼,而不需要針對外部 C 語言或 C++ 庫的 wrapper,使用它的專門語言。雷鋒網獲知,現有的工具包可以與 PyTorch 一起運行,比如 NumPy、SciPy 和 Cython(為了速度把 Python 編譯成 C 語言)。

PyTorch 還為改進現有的神經網絡,提供了更快速的方法——不需要從頭重新構建整個網絡。這是由於 PyTorch 採用了動態計算圖(dynamic computational graph)結構,而不是大多數開源框架,比如 TensorFlow、Caffe、CNTK、Theano 等採用的靜態計算圖。雷鋒網(公眾號:雷鋒網)獲知,該技術從另一個 Python 的神經網絡框架——Chainer 那裡借用。開發者團隊還強調 PyTorch 優越的內存效率,因為它採用了定製的 GPU 內存分配器。這使得開發者的深度學習模型能夠有「最大限度的內存效能」,訓練比從前更大的深度神經網絡

雖然 PyTorch 為機器學習應用而優化,這並不是它的唯一使用場景。比如說,相比 NumPy ,PyTorch 的張量計算可作為它對應功能的替代。PyTorch 為這些功能提供了 GPU 加速的版本。在沒有強力 GPU 加持的情況下,開發者能使用 CPU 運行。

這是 PyTorch 中包含的工具包列表:

  • torch :類似  NumPy 的張量庫,強 GPU 支持 

  • torch.autograd  :基於 tape 的自動區別庫,支持 torch 之中的所有可區分張量運行。

  • torch.nn :為最大化靈活性未涉及、與 autograd 深度整合的神經網絡庫

  • torch.optim:與 torch.nn 一起使用的優化包,包含 SGD, RMSProp, LBFGS, Adam 等標準優化方式

  • torch.multiprocessing: python 多進程並發,進程之間 torch Tensors 的內存共享。

  • torch.utils:數據載入器。具有訓練器和其他便利功能。 Trainer and other utility functions for convenience    

  • torch.legacy(.nn/.optim) :處於向後兼容性考慮,從 Torch 移植來的 legacy 代碼。

via infoworld

相關文章:

英特爾開源BigDL,可直接在Spark框架下運行深度學習

盤點四大民間機器學習開源框架:Theano、Caffe、Torch 和 SciKit-learn

谷歌開源 3D 數據壓縮算法 Draco,在線看片再也不用緩衝了?

谷歌布局大數據:開源平臺 Apache Beam 正式發布

BAT 在下一盤大棋?深度盤點國內四大機器學習開源平臺

谷歌、微軟、OpenAI 等巨頭的七大機器學習開源項目 看這篇就夠了

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • Torch7 開源 PyTorch:Python 優先深度學習框架
    Torch7 團隊開源了 PyTorch。據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。
  • 重磅| Torch7團隊開源PyTorch:Python優先的深度學習框架
    選自PyTorch.org機器之心編譯參與:吳攀、李澤南、李亞洲Torch7 團隊開源了 PyTorch。據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。
  • Facebook發布PyTorch 1.1,開源AI模型優化簡化工具BoTorch & Ax
    在此次開發者大會期間,Facebook開源了簡化模型優化的工具——BoTorch和Ax,還發布了Pytorch 1.1。Facebook F8 大會主要面向圍繞該網站開發產品和服務的開發人員及企業家,大會通常包括主題演講以及 Facebook 新產品、新工具的發布。其名稱源自 Facebook 的 8 小時黑客馬拉松競賽。
  • 最全面的深度學習框架pytorch搭建過程
    深度學習一直是比較熱門的話題,在動手學習之前,需要搭建深度學習框架,如pytorch、TensorFlow、caffe、mxnet等。
  • 《PyTorch中文手冊》來了
    PyTorch 現在是 GitHub 上增長速度第二快的開源項目,在過去的 12 個月裡,貢獻者增加了 2.8 倍。而且,去年 12 月在 NeurIPS 大會上,PyTorch 1.0 穩定版終於發布。
  • 在Linux系統中安裝深度學習框架Pytorch
    使用Python作為開發語言,是一個以Python優先的深度學習框架。本質上是Numpy的替代者。TensorFlow:Tensor(張量)意味著N維數組,Flow(流)意味著基於數據流圖的計算,TensorFlow為張量從流圖的一端流動到另一端計算過程。
  • onnx實現對pytorch模型推理加速
    ,此舉將讓機器學習框架,向著機器學習框架的標準化和性能優化方向邁進了一大步。開發人員可以為自己機器學習任務選擇合適的框架,框架作者可以集中精力推出創新,提高框架的性能。對於硬體供應商來說,也可以簡化神經網絡計算的複雜度,實現優化算法。
  • Facebook開源 PyTorch版 fairseq,準確性最高、速度比循環神經網絡...
    日前,Facebook AI研究團隊又在GitHub上開源了fairseq PyTorch版本。相關介紹fairseq是Facebook AI研究院發布的一個序列到序列的學習工具,它的原作者(排名不分先後)是Sergey Edunov、Myle Ott和Sam Gross。
  • Pytorch框架安裝方法(基於Anaconda環境和Pycharm IDE)
    本文介紹基於Anaconda環境以及PyCharm軟體結合,安裝PyTorch深度學習框架。1.6 單擊啟動Anaconda Prompt 創建虛擬「房間」通過conda創建一個名為:pytorch的虛擬「房間」,可以方便未來對不同版本的PyTorch進行管理,具體方法如下:conda create -n pytorch python=3.6
  • Facebook開源多款AI工具,支持遊戲、翻譯
    、Caffe 等深度學習框架之外,此次開源的還包括 DensePose(可用於人體姿態估計)、Translate(可翻譯 48 種語言)、ELF(可通過遊戲來教機器推理)等諸多 Facebook 內部使用的庫和模型。
  • PyTorch框架歷史和特性更迭與安裝過程
    PyTorch是由Facebook公司開發的深度學習框架,其起源應該是Torch這個深度學習框架。Torch深度學習框架最初的開發可以追溯到2002年。相比使用Python語言作為深度學習框架前端的PyTorch,Torch使用了Lua語言作為深度學習框架的前端。由於機器學習的主流語言是Python,相比之下,Lua語言比較小眾。
  • 用PyTorch做深度學習實驗!Facebook新框架Ax和BoTorch雙雙開源
    這兩個框架旨在簡化PyTorch應用中的自適應實驗流程。在現代機器學習應用中,對實驗到生產的流程進行簡化是最難實現的任務之一。在已經市場化深度學習框架中,Facebook的PyTorch因其高度靈活性成為數據科學界的最愛,PyTorch能夠實現快速建模和實驗。但是,深度學習應用中的許多實驗面臨的挑戰已經超出了特定框架的能力範圍。
  • 深度學習自救指南(一)| Anaconda、PyTorch的下載和安裝
    歡迎大家交流~AnacondaAnaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。選擇Anaconda的一個非常重要的原因是,我們在Anaconda中可以對不同的編程環境進行管理,比如在根據不同的項目需求選擇不同的python版本,簡化環境搭建過程,大大提高了開發效率。
  • Transformers2.0讓你三行代碼調用語言模型,兼容TF2.0和PyTorch
    近日 HuggingFace 公司開源了最新的 Transformer2.0 模型庫,用戶可非常方便地調用現在非常流行的 8 種語言模型進行微調和應用,且同時兼容 TensorFlow2.0 和 PyTorch 兩大框架,非常方便快捷。
  • 【Pytorch】PyTorch的4分鐘教程,手把手教你完成線性回歸
    大數據文摘出品編譯:洪穎菲、寧靜PyTorch深度學習框架庫之一,是來自Facebook的開源深度學習平臺,提供研究原型到生產部署的無縫銜接。本文旨在介紹PyTorch基礎部分,幫助新手在4分鐘內實現python PyTorch代碼的初步編寫。
  • PyTorch系列 | 如何加快你的模型訓練速度呢?
    PyTorch 是 torch 的 python 版本,它是 Facebook AI 研究組開發並開源的一個深度學習框架,也是目前非常流行的框架,特別是在研究人員中,短短幾年已經有追上 Tensorflow 的趨勢了。這主要是因為其簡單、動態計算圖的優點。pycuda 是一個 python 第三方庫,用於處理 Nvidia 的 CUDA 並行計算 API 。
  • PyTorch-Transformers:最先進的自然語言處理庫(附帶python代碼)
    https://github.com/huggingface/pytorch-transformers我們可以簡單地用Python導入它並進行實驗。我對現在NLP的研發速度感到非常驚訝,每一篇新論文、每一個框架和庫都在推動著這個不可思議的強大領域的發展。
  • 商湯開源最大目標跟蹤庫PySOT,代碼已正式上線!
    商湯開源最大目標跟蹤庫PySOT:含SiamRPN++和SiamMask等算法,介紹了來自商湯科技的STVIR(SenseTime Video Intelligence Research team)開源的目標跟蹤庫:PySOT。當時PySOT並沒有上傳代碼,所以之前的文章僅介紹了新特性,但得到大家廣泛關注。
  • 專欄 | pytorch入門總結指南(1)
    本來覺得學個tf和keras就夠了,但是用了torch之後覺得真的這個框架太好用了,非常靈活可以很方便的和python語言混編,torch基本可以和
  • TensorFlow與PyTorch之爭,哪個框架最適合深度學習
    為了幫助開發這些架構,谷歌、Facebook 和 Uber 等科技巨頭已經為 Python 深度學習環境發布了多款框架,這讓人們可以更輕鬆地學習、構建和訓練不同類型的神經網絡。本文將詳細介紹和比較兩種流行的框架: TensorFlow 與 PyTorch。