PyTorch深度学习技术生态

AI算法与图像处理

共 3368字,需浏览 7分钟

 ·

2021-05-16 09:55

点击上方AI算法与图像处理”,选择加"星标"或“置顶”

重磅干货,第一时间送达


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


个人微信(如果没有备注不拉群!
请注明:地区+学校/企业+研究方向+昵称



下载1:何恺明顶会分享


AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析


下载2:终身受益的编程指南:Google编程风格指南


AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!



下载3 CVPR2021

AI算法与图像处公众号后台回复:CVPR即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文

点亮 ,告诉大家你也在看


浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报