【深度学习】PyTorch深度学习技术生态

机器学习初学者

共 3131字,需浏览 7分钟

 · 2021-02-12

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的深度学习技术生态也逐渐丰富和完善。本文限于篇幅,就仅罗列部分具有代表性和流行性的技术框架。

往期精彩回顾





本站qq群704220115,加入微信群请扫码:

浏览 63
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报