首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JNing的专栏

    安装horovod

    把ompi压缩包上传到要安装horovod的服务器。 安装ompi 我没有完全按照horovod指向的教程来,而是根据ompi的README.md做了些许修改: # 解压安装包 gunzip -c openmpi-4.0.1.tar.gz | tar xf bashrc里面添加: vim ~/.bashrc 加入如下语句: export PATH=/usr/local/lib/openmpi:$PATH 使新的环境变量生效: source ~/.bashrc 安装horovod 安装 pip install horovod Building wheel for horovod (setup.py) 这一步需要等待良久。 测试安装成功 用如下命令测试horovod是否安装成功: import horovod.tensorflow as hvd print(hvd.__path__)

    2.1K20发布于 2020-03-17
  • 安装 openmpi 4.0 用于 horovod 编译

    最近编译 horovod框架过程中,需要使用openmpi 4.0但是环境中的openmpi版本比较低,所以在手动安装openmpi4.0 用于编译,下面对过程进行简要记录,进行备忘: curl -O

    96210发布于 2020-12-30
  • 来自专栏GiantPandaCV

    分布式训练框架Horovod初步学习

    简介 Horovod 是 TensorFlow、Keras、PyTorch 和 Apache MXNet 的分布式深度学习训练框架。Horovod 的目标是使分布式深度学习快速且易于使用。 在 CPU 上运行: $ pip install horovod 要使用 NCCL 在 GPU 上运行: $ HOROVOD_GPU_OPERATIONS=NCCL pip install horovod 有关使用 GPU 支持安装 Horovod 的更多详细信息,请阅读GPU 上的 Horovod。 : initialize Horovod. /horovod

    3.5K50发布于 2020-11-09
  • 来自专栏AI SPPECH

    68_分布式训练技术:DDP与Horovod

    Horovod技术详解 4.1 Horovod工作原理 Horovod是Uber开源的分布式训练框架,它提供了一种简单统一的接口来实现分布式训练,支持TensorFlow、PyTorch、MXNet等多种深度学习框架 数据加载:使用Horovod的分布式采样器加载数据。 梯度计算:每个进程独立计算梯度。 梯度同步:使用Horovod的AllReduce操作同步梯度。 4.2 Horovod的关键特性 4.2.1 多框架支持 Horovod支持多种深度学习框架,包括TensorFlow、PyTorch、MXNet等,这使得它在多框架环境中特别有用。 4.3 Horovod的使用方法 4.3.1 PyTorch中使用Horovod 在PyTorch中使用Horovod的基本步骤如下: import torch import horovod.torch Horovod:虽然社区规模相对较小,但Horovod在工业界有广泛的应用,特别是在需要支持多框架的环境中。Uber和其他公司持续维护和更新Horovod

    59110编辑于 2025-11-16
  • Horovod 分布式深度学习框架相关

    框架: HOROVOD_NCCL_HOME=nccl的home目录 HOROVOD_NCCL_LIB=nccl的lib目录 HOROVOD_NCCL_INCLUDE=nccl的include目录  HOROVOD_GPU_ALLREDUCE =NCCL  pip install --no-cache-dir horovod  HOROVOD_NCCL_HOME=/home/name/nccl/build/ HOROVOD_NCCL_LIB= /home/name/nccl/build/lib/ HOROVOD_NCCL_INCLUDE=/home/name/nccl/build/include/ HOROVOD_GPU_ALLREDUCE =NCCL pip install --no-cache-dir horovod 安装后,使用:python -c "import horovod.tensorflow as hvd;" 命令进行测试 ,如果无错误输出,则表示安装成功;之后可参考官方手册使用Horovod; ➜ openmpi python -c "import horovod.tensorflow as hvd;" /home/name

    83720发布于 2020-12-30
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver

    [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver 目录 [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver 前面几篇链接如下: [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么 0x01 引子 在 horovod/runner/launch.py 文件中,_run_static 函数中使用 当有多个host时候,horovod如何处理? 如何找到路由信息? 怎么互相交互? rsh 就是在某一个 host 上,让某一个 horovod rank 启动。

    65010发布于 2021-06-21
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (7) --- DistributedOptimizer

    本系列将通过源码分析来带领大家了解 Horovod。本文是系列第七篇,看看 Horovod 如何与 TensorFlow 融合。 为此,Horovod 通过对用户Optimizer 进行封装组合方式完成了对梯度的 AllReduce 操作,即, Horovod 要求开发者使用Horovod自己定义的 hvd.DistributedOptimizer Horovod 调用 TensorFlow 2.0 API 可以直接获取梯度。然后Horovod 通过封装 tape 完成 AllReduce 调用。 5.2 示例代码 首先,我们给出示例代码如下,下面省略部分非关键代码,具体可以参见注释: # Horovod: initialize Horovod. hvd.init() # 初始化HVD # HorovodHorovod OP 联系起来。

    1.7K10发布于 2021-06-29
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (15) --- 广播 & 通知

    [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知 目录 [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知 0x00 摘要 0x01 本系列将通过源码分析来带领大家了解 Horovod。本文是系列第十五篇,看看horovod 弹性训练如何广播和发送通知。 本系列其他文章链接如下: [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 [源码解析 ] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么 [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver [源码解析 ] 深度学习分布式训练框架 horovod (5) --- 融合框架 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 [源码解析] 深度学习分布式训练框架 horovod

    1.3K20发布于 2021-07-20
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (10) --- run on spark

    [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark 目录 [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark 本系列将通过源码分析来带领大家了解 Horovod。本文是系列第十篇,看看horovod 如何运行在 spark 之上。 Horovod on Spark 具体有两种底层实现:MPI,GLOO。 本系列其他文章如下: [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么 [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver [源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 [源码解析] 深度学习分布式训练框架 horovod

    2.5K20发布于 2021-07-08
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (8) --- on spark

    本系列将通过源码分析来带领大家了解 Horovod。接下来几篇介绍 horovod 如何运行在 spark 之上。本文是第八篇,介绍 horovod on spark 的总体架构。 深度学习分布式训练框架 horovod (5) --- 融合框架 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 [源码解析] 深度学习分布式训练框架 horovodHorovod 也有自己的 TaskService(可以认为其对应了 spark Executor); Horovod DriverService 用 horovod.spark. 从 Horovod来说,Horovod DriverService 就是 driver node,Horovod TaskService就是 data node: 数据分布在 n 个 data node Horovod DriverService (系统中只有一个)就负责维护代码,把任务和代码发给Horovod TaskService,但是Horovod DriverService没有更新模型的操作,

    2.5K30发布于 2021-07-01
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (12) --- 弹性训练总体架构

    [源码解析] 深度学习分布式训练框架 horovod (12) --- 弹性训练总体架构 目录 [源码解析] 深度学习分布式训练框架 horovod (12) --- 弹性训练总体架构 0x00 摘要 本系列将通过源码分析来带领大家了解 Horovod。本文是系列第十二篇,看看horovod 如何实施弹性训练。 ] 深度学习分布式训练框架 horovod (5) --- 融合框架 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 [源码解析] 深度学习分布式训练框架 horovod 目前Horovod无法在资源有限的情况下执行。 Horovod 的弹性训练是指多机的弹性训练。 Horovod 弹性训练有两个角色:driver和 worker。

    1.3K20发布于 2021-07-14
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (6) --- 后台线程架构

    [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 目录 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 0x00 摘要 0x01 引子 本系列将通过源码分析来带领大家了解 Horovod。本文是系列第六篇,看看 Horovod 后台线程架构。 前面几篇链接如下: [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 [源码解析] 这是整体同步的过程,如果打开 horovod 的 trace log(HOROVOD_LOG_LEVEL=trace) 就能看到同步的过程。 2.3.2 实现 我们再具体看看实现。 horovod_global.message_queue 以及 horovod_global.tensor_table 都是在Horovod的后台线程BackgroundThreadLoop 中被处理的

    2.1K20发布于 2021-06-29
  • 来自专栏罗西的思考

    深度学习分布式训练框架 Horovod (1) --- 基础知识

    0x00 摘要 Horovod 是Uber于2017年发布的一个易于使用的高性能的分布式训练框架,在业界得到了广泛应用。 本系列将通过源码分析来带领大家了解 Horovod。 5.2.4 Horovod 架构图 工作原理也可以借助Horovod的发布帖子 来看看。 ? 5.2.5 百度思路 或者我们从百度的源码中也可以直接看到思路,现在摘录给大家。 horovod使用_用horovod进行分布式模型训练 Spark新愿景:让深度学习变得更加易于使用 Scaling model training in PyTorch using distributed 带你了解当红炸子鸡Horovod分布式训练框架 在 Amazon SageMaker 管道模式下使用 Horovod 实现多 GPU 分布式训练 kubernetes 培训_在Kubernetes上使用 horovod进行分布式深度学习培训 Horovod-基于TensorFlow分布式深度学习框架 Paracel十问 PARACEL:让分布式机器学习变得简单 Spark on Angel大规模分布式机器学习平台介绍

    2.5K42发布于 2021-06-10
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (20) --- Elastic Training Operator

    [源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator 0x00 摘要 Horovod 是一款基于 AllReduce 的分布式训练框架 凭借其对 TensorFlow、PyTorch 等主流深度学习框架的支持,以及通信优化等特点,Horovod 被广泛应用于数据并行的训练中。 本文是 horovod on k8s 的最后一篇,看看 MPI-Operator 可能被如何改进,主要就是根据 Elastic Training Operator 作者 团队的博客内容来学习源码。 需要在代码中做少量修改适配,可参考:https://horovod.readthedocs.io/en/stable/elastic_include.html。 提供的 horovordrun 作为入口,horovod 中 launcher 通过 ssh 登陆 worker,需要打通 launcher 和 worker 之间的登陆隧道。

    79210发布于 2021-08-06
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (9) --- 启动 on spark

    [源码解析] 深度学习分布式训练框架 horovod (9) --- 启动 on spark 目录 [源码解析] 深度学习分布式训练框架 horovod (9) --- 启动 on spark 0x00 本系列将通过源码分析来带领大家了解 Horovod。这几篇介绍 horovod 如何运行在 spark 之上。本文是第九篇,介绍 horovod on spark 如何启动。 本系列其他文章如下: [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么 [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver [源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 [源码解析] 深度学习分布式训练框架 horovod

    67320发布于 2021-07-08
  • 来自专栏ATYUN订阅号

    优步开源框架Horovod,支持自动驾驶汽车、出行预测等项目

    Horovod是优步跨多台机器的分布式训练框架,现已加入开源计划LF Deep Learning Foundation。 优步利用Horovod来支持自动驾驶汽车,欺诈检测和出行预测。 除了优步,阿里巴巴,亚马逊和Nvidia也在使用HorovodHorovod项目可以与TensorFlow,Keras和PyTorch等流行框架一起使用。 在推出Acumos(用于训练和部署AI模型)和Acumos Marketplace(AI模型的开放式交易所)推出一个月后,Horovod正式推出。 代码: github.com/uber/horovod

    62120发布于 2018-12-27
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (17) --- 弹性训练之容错

    [源码解析] 深度学习分布式训练框架 horovod (17) --- 弹性训练之容错 0x00 摘要 Horovod 是Uber于2017年发布的一个易于使用的高性能的分布式训练框架,在业界得到了广泛应用 本系列将通过源码分析来带领大家了解 Horovod。本文是系列第十七篇,看看horovod 的容错机制。 我们依然用问题来引导学习。 问题是: 这些异常是 每个 worker 自动发出的吗? Reinitialize Horovod context performing a new round of rendezvous. 4. import horovod.tensorflow as hvd @hvd.elastic.run 因此我们来到了 horovod/tensorflow/elastic.py。 0xFF 参考 ElasticDL调用 Horovod 在Kubernetes上实现弹性 AllReduce(一) kubernetes 培训_在Kubernetes上使用horovod进行分布式深度学习培训

    1.4K30发布于 2021-07-23
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (19) --- kubeflow MPI-operator

    [源码解析] 深度学习分布式训练框架 horovod (19) --- kubeflow MPI-operator 0x00 摘要 Horovod 是一款基于 AllReduce 的分布式训练框架。 本文是 horovod on k8s 的中间阶段,是 Horovod 的主要相关部分,看看 Horovod on K8S 在社区内如何实现。 RUN HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITH_MXNET=1 \ pip install --no-cache-dir horovod==${HOROVOD_VERSION} 0x02 设计思路 目前社区在 mpi-operator 主要用于 allreduce-style 的分布式训练,因为 mpi-operator 配合对 Horovod 的修改 https://github.com/horovod/horovod/pull/2199 ,能够在 Kubernetes 上实现 Horovod 的弹性训练。

    3K21发布于 2021-07-27
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (11) --- on spark --- GLOO 方案

    本系列将通过源码分析来带领大家了解 Horovod。本文是系列第十一篇,看看horovod 如何运行在 spark 之上(GLOO实现)。 深度学习分布式训练框架 horovod (5) --- 融合框架 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 [源码解析] 深度学习分布式训练框架 horovod =1.1.1.1 HOROVOD_GLOO_RENDEZVOUS_PORT=2222 HOROVOD_CPU_OPERATIONS=gloo HOROVOD_GLOO_IFACE=lo HOROVOD_CONTROLLER HOROVOD_CPU_OPERATIONS=gloo HOROVOD_GLOO_IFACE=lo HOROVOD_CPU_OPERATIONS=gloo HOROVOD_GLOO_IFACE=lo

    92030发布于 2021-07-13
  • 来自专栏机器之心

    业界 | 详解Horovod:Uber开源的TensorFlow分布式深度学习框架

    但是 Horovod 仅需要几行。 Horovod 还通过同样的步骤分布 Keras 项目。 我们希望用 Horovod 创造一种方式,提供节点之间操作 timeline 的高度理解。因此,我们构建了 Horovod Timeline。 下一部分,我们将分享现实世界的基准,来展示 Horovod 的性能。 Horovod 基准 ? 下一步 今年早些时候,Uber 开源了 Horovod,让这一可扩展机器学习模型走向整个社区。目前 Horovod 还在发展之中,我们正在向以下几个方向继续推进: 1.

    3.5K60发布于 2018-05-08
领券