PyTorch深度学习技术生态人工智能与算法学习关注共 3018字,需浏览 7分钟 ·2021-02-11 03:58 PyTorchAuthor:louwillMachine Learning Lab 随着近几年的大力发展,PyTorch逐渐成为主流的深度学习框架。相应的PyTorch技术生态也逐渐丰富和完善。本文重点回顾和盘点PyTorch的技术生态,包含大量的工具库,遍布AI各个领域和方向。Pytorch LightningPytorch Lightning是一款基于Pytorch的轻量级高级计算框架,相较于Pytorch而言最大特征是简洁易用,相当于Pytorch版本的Keras框架。地址:https://www.pytorchlightning.ai/LibtorchLibtorch可以看作是C++版本的PyTorch,在Python环境下对训练好的模型进行转换之后,我们需要C++环境下的PyTorch来读取模型并进行编译部署。这种C++环境下的PyTorch就是libtorch。地址:https://pytorch.org/cppdocs/Detectron2Detectron2是Facebook AI (FAIR) 发布的下一代目标检测算法框架。Detectron2是对Detectron项目的重构,也是maskrcnn-benchmark的替代框架。地址:https://github.com/facebookresearch/detectron2TransformersTransformers是一款基于PyTorch的自然语言处理SOTA模型库。Transformers提供了数千种经过预训练的模型,能够处理各种NLP问题,例如文本分类、信息提取、问答系统,文本摘要,机器翻译和文本生成等。地址:https://github.com/huggingface/transformersONNX runtimeONNX Runtime是一种跨平台深度学习训练和推理机加速器,与深度学习框架,可以兼容TensorFlow、Keras和PyTorch等多种深度学习框架。ONNX (Open Neural Network Exchange) 是一种用于表示深度学习模型的开放格式,ONNX定义了一组通用的运算符、机器学习和深度学习模型的构建块以及一种通用的文件格式,使AI开发人员可以将模型与各种框架、工具和编译器一起使用。地址:https://github.com/microsoft/onnxruntimePyTorch GeometricPyTorch Geometric (PyG) 是一款基于PyTorch的图神经网络深度学习扩展库。PyG对已发表或者常用的图神经网络和数据集都进行了集成,因而是当前最流行和广泛使用的GNN库。地址:https://github.com/rusty1s/pytorch_geometricPyTorch3DPyTorch3D是一款基于PyTorch将深度学习与3D进行结合的研究框架。3D数据比2D图像更为复杂,在处理诸如Mesh R-CNN和C3DPO之类的项目时,需要用3D数据进行表示,在批处理和速度方面的诸多挑战。 PyTorch3D开发出许多用于3D深度学习的有用的运算符和抽象,并希望与社区共享以推动这一领域的新颖研究。地址:https://pytorch3d.org/RayRay为构建分布式机器学习应用提供简单和通用式的API。Ray打包了Tune、RLlib、RaySGD和Ray Serve等多款机器学习库。地址:https://github.com/ray-project/rayskorch从名称就可以看出来,skorch是一款综合scikit-learn和PyTorch的机器学习库,可以实现scikit-learn和PyTorch高效兼容。地址:https://github.com/skorch-dev/skorchPySyftPySyft是用于安全和私有深度学习的Python库。PySyft使用联合学习,差分隐私和加密计算(例如PyTorch和TensorFlow等主要深度学习框架中的多方计算 (MPC) 和同态加密 (HE) 将模型训练中的私人数据进行解耦。地址:https://github.com/OpenMined/PySyftPyroPyro是一款基于PyTorch作为后端的通用概率编程语言 (PPL)。地址:http://pyro.ai/fastaifastai使用当前深度学习最佳实践简化了神经网络的训练过程,并且在速度和精度上都非常可观。fastai作为一款深度学习库,可为从业人员提供高级组件,这些组件可以快速轻松地提供标准深度学习领域中的最新结果,并为研究人员提供可以混合和匹配以构建的低级组件新方法。地址:https://docs.fast.ai/HorovodHorovod可以为PyTorch提供分布式深度学习训练框架。Horovod最初由Uber开发,旨在使分布式深度学习变得快速且易于使用,使模型训练时间从几天和几周缩短到数小时和数分钟。使用Horovod可以将现有的训练脚本规模进行扩大,使其仅用几行Python代码就可以在数百个GPU上运行。地址:http://horovod.ai/AllenNLPAllenNLP几乎可以针对几乎所有NLP问题设计深度学习模型,并且可以轻松地在云端或笔记本电脑上运行。地址:https://allennlp.org/AlbumentationsAlbumentations是一款用于计算机视觉图像增强的高级库。基于Albumentations的图像增强效果入下图所示。地址:https://github.com/albumentations-team/albumentationsDeepSpeedDeepSpeed是一个深度学习优化库,它使分布式训练变得容易和高效。地址:https://www.deepspeed.ai/FlairFlair是一款非常容易上手的PyTorch NLP SOTA框架。地址:https://github.com/flairNLP/flairParlAIParlAI是一款跨多个任务共享,训练和评估对话模型的一体化的机器学习平台。地址:https://parl.ai/PyTorch Metric LearningPyTorch Metric Learning能够让你以最轻松的方式在你的机器学习代码中融入深度度量学习,并且容易模块化、高度的灵活性和可拓展性。PML 9大模块如下图所示。地址:https://kevinmusgrave.github.io/pytorch-metric-learning/BoTorchBoTorch是一个基于PyTorch的高效贝叶斯优化框架。地址:https://botorch.org/随着PyTorch逐渐流行以及越来越多的开发者加入,基于PyTorch的深度学习技术生态也逐渐丰富和完善。本文限于篇幅,就仅罗列部分具有代表性和流行性的技术框架。 浏览 48点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 PyTorch深度学习技术生态AI算法与图像处理0PyTorch深度学习技术生态机器学习实验室0【深度学习】PyTorch深度学习技术生态机器学习初学者0【深度学习】深度学习之Pytorch基础教程!机器学习初学者0【深度学习】PyTorch实用工具总结作者:Big fish地址:https://zhuanlan.zhihu.com/p/33992733从网上各种资料加上自己实践的可用工具。主要包括:模型层数:print_layers_num模型参数总量:print_model_parm_nums模型的计算图:def print_autograd_深度学习PyTorch库介绍目标检测与深度学习0深度学习之Pytorch基础教程!Datawhale0深度学习之 Pytorch 基础教程!小白学视觉0从零开始深度学习Pytorch笔记(1)——安装Pytorch小黄用python0深度学习Pytorch框架Tensor张量视学算法0点赞 评论 收藏 分享 手机扫一扫分享分享 举报