首页  软件  游戏  图书  电影  电视剧

请输入您要查询的软件:

 

软件 Horovod分布式深度学习框架 v0.28.1 
内容

 Horovod是针对TensorFlow,Keras,PyTorch和Apache MXNet的分布式深度学习培训框架。Horovod的目标是使分布式深度学习快速且易于使用。

Horovod由LF AI和数据基金会(LF AI&Data)托管。如果您是一家致力于在人工智能,机器和深度学习中使用开源技术的公司,并希望在这些领域中支持开源项目的社区,请考虑加入LF AI和数据基金会。有关谁参与以及Horovod如何扮演角色的详细信息,请阅读Linux Foundation公告。

安装

要安装Horovod:

1、安装CMake

2、如果您已从PyPI安装TensorFlow ,请确保已安装g++-4.8.5或g++-4.9或更高版本。

如果您已从PyPI安装了PyTorch ,请确保已安装g++-4.9或更高版本。

如果您已经从Conda安装了任何一个软件包,请确保gxx_linux-64已安装Conda软件包。

3、安装horovodpip包。

要在CPU上运行:

$ pip install horovod

要在具有NCCL的GPU上运行:

$ HOROVOD_GPU_OPERATIONS = NCCL点安装horovod

$ HOROVOD_GPU_OPERATIONS=NCCL pip install horovod

用法

要使用Horovod,请在程序中添加以下内容:

1、运行hvd.init()以初始化Horovod。

2、将每个GPU固定到一个进程,以避免资源争用。

通常每个进程设置一个GPU,将其设置为local rank。服务器上的第一个进程将被分配第一个GPU,第二个进程将被分配第二个GPU,依此类推。

3、通过工人人数来衡量学习率。

同步分布式培训中的有效批处理规模是根据工人人数来衡量的。学习率的提高弥补了批量大小的增加。

4、将优化器包装在中hvd.DistributedOptimizer。

分布式优化器将梯度计算委托给原始优化器,使用allreduce或allgather对梯度求平均,然后应用这些平均梯度。

5、将等级0的初始变量状态广播到所有其他进程。

当使用随机权重开始训练或从检查点恢复训练时,这是确保所有工人进行一致初始化的必要步骤。

6、修改您的代码以仅在工作程序0上保存检查点,以防止其他工作程序破坏它们。

使用TensorFlow v1的示例(有关完整的培训示例,请参阅示例目录):

import tensorflow as tf

import horovod.tensorflow as hvd

# Initialize Horovod

hvd.init()

# Pin GPU to be used to process local rank (one GPU per process)

config = tf.ConfigProto()

config.gpu_options.visible_device_list = str(hvd.local_rank())

# Build model...

loss = ...

opt = tf.train.AdagradOptimizer(0.01 * hvd.size())

# Add Horovod Distributed Optimizer

opt = hvd.DistributedOptimizer(opt)

# Add hook to broadcast variables from rank 0 to all other processes during

# initialization.

hooks = [hvd.BroadcastGlobalVariablesHook(0)]

# Make training operation

train_op = opt.minimize(loss)

# Save checkpoints only on worker 0 to prevent other workers from corrupting them.

checkpoint_dir = '/tmp/train_logs' if hvd.rank() == 0 else None

# The MonitoredTrainingSession takes care of session initialization,

# restoring from a checkpoint, saving to a checkpoint, and closing when done

# or an error occurs.

with tf.train.MonitoredTrainingSession(checkpoint_dir=checkpoint_dir,

config=config,

hooks=hooks) as mon_sess:

while not mon_sess.should_stop():

# Perform synchronous training.

mon_sess.run(train_op)

运行Horovod

下面的示例命令显示了如何运行分布式训练。有关更多详细信息,请参见Run Horovod,包括RoCE / InfiniBand调整和处理挂起的技巧。

1、要在具有4个GPU的计算机上运行:

$ horovodrun -np 4 -H localhost:4 python train.py

2、要在具有4个GPU的4台计算机上运行:

$ horovodrun -np 16 -H server1:4,server2:4,server3:4,server4:4 python train.py

3、要在不使用horovodrun包装的情况下使用Open MPI运行,请参阅使用Open MPI运行Horovod。

4、要在Docker中运行,请参阅Docker中的Horovod。

5、要在Kubernetes中运行,MPI运算符,Helm Chart,FfDL和Polyaxon。

6、要在Spark上运行。

7、要在Ray上运行。

8、在Singularity运行

9、要在LSF HPC集群(例如Summit)中运行

标签 学习框架,深度,分布式,Horovod
缩略图
软件名称 Horovod分布式深度学习框架 v0.28.1
软件图标
软件大小 265KB
发布时间
软件平台
软件语言 简体中文
软件授权 免费软件
操作系统 Python
系统类型
用户评分 3
软件版本
官方网站
官方网址
软件截图
软件总类 源码系统
软件大类 源码下载-其它源码-Horovod学习框架
软件小类 其它源码
开发者
主办单位名称
ICP备案名
备案号
使用年龄
下载链接
攻略教程
详细介绍
操控设备
隐私政策
查看权限
敏感权限获取说明
软件类型 国产软件
安全警示 适度休息有益身心健康,请勿长期沉迷于使用电脑或刷手机。
随便看

 

传承兰台文化,共同保存历史记忆!兰台网收藏软件、游戏、图片、图书、电影、电视剧等互联网档案,是免费和可借阅文本、电影、音乐等档案的数字图书馆。

 

Copyright © 2004-2025 xlantai.com All Rights Reserved
更新时间:2025/5/6 17:27:07