【深度学习】PyTorch深度学习技术生态
PyTorch
Author:louwill
Machine Learning Lab
? ? ?
隨著近幾年的大力發展,PyTorch逐漸成為主流的深度學習框架。相應的PyTorch技術生態也逐漸豐富和完善。本文重點回顧和盤點PyTorch的技術生態,包含大量的工具庫,遍布AI各個領域和方向。
Pytorch Lightning
Pytorch Lightning是一款基于Pytorch的輕量級高級計算框架,相較于Pytorch而言最大特征是簡潔易用,相當于Pytorch版本的Keras框架。
地址:https://www.pytorchlightning.ai/
Libtorch
Libtorch可以看作是C++版本的PyTorch,在Python環境下對訓練好的模型進行轉換之后,我們需要C++環境下的PyTorch來讀取模型并進行編譯部署。這種C++環境下的PyTorch就是libtorch。
地址:https://pytorch.org/cppdocs/
Detectron2
Detectron2是Facebook AI (FAIR) 發布的下一代目標檢測算法框架。Detectron2是對Detectron項目的重構,也是maskrcnn-benchmark的替代框架。
地址:https://github.com/facebookresearch/detectron2
Transformers
Transformers是一款基于PyTorch的自然語言處理SOTA模型庫。Transformers提供了數千種經過預訓練的模型,能夠處理各種NLP問題,例如文本分類、信息提取、問答系統,文本摘要,機器翻譯和文本生成等。
地址:https://github.com/huggingface/transformers
ONNX runtime
ONNX Runtime是一種跨平臺深度學習訓練和推理機加速器,與深度學習框架,可以兼容TensorFlow、Keras和PyTorch等多種深度學習框架。ONNX (Open Neural Network Exchange) 是一種用于表示深度學習模型的開放格式,ONNX定義了一組通用的運算符、機器學習和深度學習模型的構建塊以及一種通用的文件格式,使AI開發人員可以將模型與各種框架、工具和編譯器一起使用。
地址:https://github.com/microsoft/onnxruntime
PyTorch Geometric
PyTorch Geometric (PyG) 是一款基于PyTorch的圖神經網絡深度學習擴展庫。PyG對已發表或者常用的圖神經網絡和數據集都進行了集成,因而是當前最流行和廣泛使用的GNN庫。
地址:https://github.com/rusty1s/pytorch_geometric
PyTorch3D
PyTorch3D是一款基于PyTorch將深度學習與3D進行結合的研究框架。3D數據比2D圖像更為復雜,在處理諸如Mesh R-CNN和C3DPO之類的項目時,需要用3D數據進行表示,在批處理和速度方面的諸多挑戰。?PyTorch3D開發出許多用于3D深度學習的有用的運算符和抽象,并希望與社區共享以推動這一領域的新穎研究。
地址:https://pytorch3d.org/
Ray
Ray為構建分布式機器學習應用提供簡單和通用式的API。Ray打包了Tune、RLlib、RaySGD和Ray Serve等多款機器學習庫。
地址:https://github.com/ray-project/ray
skorch
從名稱就可以看出來,skorch是一款綜合scikit-learn和PyTorch的機器學習庫,可以實現scikit-learn和PyTorch高效兼容。
地址:https://github.com/skorch-dev/skorch
PySyft
PySyft是用于安全和私有深度學習的Python庫。PySyft使用聯合學習,差分隱私和加密計算(例如PyTorch和TensorFlow等主要深度學習框架中的多方計算 (MPC) 和同態加密 (HE) 將模型訓練中的私人數據進行解耦。
地址:https://github.com/OpenMined/PySyft
Pyro
Pyro是一款基于PyTorch作為后端的通用概率編程語言 (PPL)。
地址:http://pyro.ai/
fastai
fastai使用當前深度學習最佳實踐簡化了神經網絡的訓練過程,并且在速度和精度上都非常可觀。fastai作為一款深度學習庫,可為從業人員提供高級組件,這些組件可以快速輕松地提供標準深度學習領域中的最新結果,并為研究人員提供可以混合和匹配以構建的低級組件新方法。
地址:https://docs.fast.ai/
Horovod
Horovod可以為PyTorch提供分布式深度學習訓練框架。Horovod最初由Uber開發,旨在使分布式深度學習變得快速且易于使用,使模型訓練時間從幾天和幾周縮短到數小時和數分鐘。使用Horovod可以將現有的訓練腳本規模進行擴大,使其僅用幾行Python代碼就可以在數百個GPU上運行。
地址:http://horovod.ai/
AllenNLP
AllenNLP幾乎可以針對幾乎所有NLP問題設計深度學習模型,并且可以輕松地在云端或筆記本電腦上運行。
地址:https://allennlp.org/
Albumentations
Albumentations是一款用于計算機視覺圖像增強的高級庫。基于Albumentations的圖像增強效果入下圖所示。
地址:https://github.com/albumentations-team/albumentations
DeepSpeed
DeepSpeed是一個深度學習優化庫,它使分布式訓練變得容易和高效。
地址:https://www.deepspeed.ai/
Flair
Flair是一款非常容易上手的PyTorch?NLP SOTA框架。
地址:https://github.com/flairNLP/flair
ParlAI
ParlAI是一款跨多個任務共享,訓練和評估對話模型的一體化的機器學習平臺。
地址:https://parl.ai/
PyTorch Metric Learning
PyTorch Metric Learning能夠讓你以最輕松的方式在你的機器學習代碼中融入深度度量學習,并且容易模塊化、高度的靈活性和可拓展性。PML 9大模塊如下圖所示。
地址:https://kevinmusgrave.github.io/pytorch-metric-learning/
BoTorch
BoTorch是一個基于PyTorch的高效貝葉斯優化框架。
地址:https://botorch.org/
?
隨著PyTorch逐漸流行以及越來越多的開發者加入,基于PyTorch的深度學習技術生態也逐漸豐富和完善。本文限于篇幅,就僅羅列部分具有代表性和流行性的技術框架。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 本站qq群704220115,加入微信群請掃碼: 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【深度学习】PyTorch深度学习技术生态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信公众号页面模版怎么添加文章推荐功能
- 下一篇: 电脑自带的画图工具怎么使用笔刷