2022 Python 计算生态三月推荐榜 第49期

22年3月10日 · Python123 6002 人阅读
![]() |
看见更大的世界,遇见更好的自己
See a better world to meet better for ourselves.
深度学习的分布式训练主要有两种类型:数据并行和模型并行。数据并行方法中,数据被划分为多个分区,模型被复制到每个工作节点中,每个工作节点都对自己的数据子集进行操作,每个节点独立计算其训练样本的预测与标记输出之间的误差,每个节点都会根据错误更新其模型,并将其所有更改传达给其他节点以更新其相应的模型。在模型并行,也称为网络并行中,模型被分割成不同的部分,可以在不同的节点上并发运行,每个部分都将运行在相同的数据上,工作节点只需要同步共享参数,通常每个前向或后向传播步骤一次。数据并行时两种分布式训练方法中最容易实现的,并且足以满足大多数用例。
2022年03月,相比单机的算法训练和算法调优来说分布式的方式将极大的提供生产效率,加快模型的训练过程,好事者特别推荐10款优秀的Python计算生态,帮助您了解分布式训练。
horovod
Horovod 是一个用于 TensorFlow、Keras、PyTorch 和 Apache MXNet 的分布式深度学习训练框架。Horovod 的目标是使分布式深度学习变得快速且易于使用。
![]() |
https://github.com/horovod/horovod
DeepSpeed
DeepSpeed 是一个深度学习优化库,它可以使分布式训练变得容易、高效和有效。
![]() |
https://github.com/microsoft/DeepSpeed
TensorFlowOnSpark
TensorFlowOnSpark 为 Apache Hadoop 和
Apache Spark 集群带来可扩展的深度学习。 通过结合深入学习框架
TensorFlow 和大数据框架 Apache Spark 、Apache
Hadoop 的显着特征,TensorFlowOnSpark 能够在
GPU 和 CPU 服务器集群上实现分布式深度学习。
https://github.com/yahoo/TensorFlowOnSpark
BigDL
BigDL,是 Intel 开源的一个基于
Apache Spark 的分布式深度学习库。使用 BigDL ,用户可以将他们的深度学习应用程序作为标准的 Spark 程序,它可以直接运行在现有的 Spark 或
Hadoop 集群之上。
![]() |
https://github.com/intel-analytics/BigDL
analytics-zoo
Analytics Zoo将 TensorFlow、Keras
和 PyTorch 无缝扩展到分布式大数据。
![]() |
https://github.com/intel-analytics/analytics-zoo
singa
SINGA 是基于大型数据集训练大型深度学习模块的常规分布式学习平台。SINGA 支持各种流行的深度学习模块,其中的 feed-forward 模块包括
convolutional neural networks (CNN),能量模块
restricted Boltzmann machine (RBM) 和
recurrent neural networks (RNN)。
![]() |
https://github.com/apache/singa
fairscale
FairScale 是一个用于高性能和大规模训练的 PyTorch 扩展库。该库扩展了基本的 PyTorch 功能,同时添加了新的 SOTA 缩放技术。FairScale
以可组合模块和易于使用的 API 的形式提供最新的分布式训练技术。
![]() |
https://github.com/facebookresearch/fairscale
elephas
Elephas 是 Keras 的扩展,它允许您使用Spark大规模运行分布式深度学习模型。Elephas 目前支持许多应用程序,包括:深度学习模型的数据并行训练,集成模型的分布式训练。
![]() |
https://github.com/maxpumperla/elephas
petastorm
Petastorm 是由 Uber ATG开发的开源数据访问库。这个库可以直接基于数 TB Parquet 格式的数据集进行单机或分布式训练和深度学习模型评估。Petastorm 支持基于
Python 的机器学习框架,如 Tensorflow、Pytorch
和 PySpark,也可以直接用在 Python 代码中。
https://github.com/uber/petastorm
mesh
Mesh TensorFlow (mtf)
是一种用于分布式深度学习的语言,能够指定广泛的分布式张量计算类别。Mesh TensorFlow 的目的是在您的硬件/处理器上为您的计算图形式化和实施分布策略。
https://github.com/tensorflow/mesh
Python3Turtle