博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Horovod
阅读量:5171 次
发布时间:2019-06-13

本文共 977 字,大约阅读时间需要 3 分钟。

Horovod是一个支持TensorFlow、Keras、PyTorch和Apache MXNet的分布式训练框架。Horovod的目标是让分布式深度学习更快更易用。 

为啥不用原生的TensorFlow分布式训练? 

1、代码改动多少?

2、比原生的分布式训练快多少?

Horovod用的MPI比分布式TensorFlow用的parameter servers,简单直接得多。而且,Horovod更快,下面的benchmark用了128台服务器,每台机器4张Pascal GPU,机器之间是有RoCE能力的25Gbit/s网络。

对于Inception V3和ResNet-101,Horovod有90%的扩展效率,对于VGG-16,则是68%。 

安装Horovod:(这些环境问题要注意!!!) 

1、安装OpenMPI或者其他MPI实现。OpenMPI 3.1.3有个问题会导致卡住,建议降级到3.1.2,或者升级到4.0.0。

2、如果是用PyPI装的TensorFlow,要确保装g++-4.8.5或者g++-4.9。如果是用PyPI装的PyTorch,要确保装g++-4.9或者以上。如果是用Conda装的TensorFlow或者PyTorch,要确保装gxx_linux-64 Conda包。

3、安装Horovod pip包。

pip install horovod

通过docker使用Horovod: 。

单机运行docker:

$ nvidia-docker run -it horovod:latest     // 可能还要别的参数,例如--net=hostroot@c278c88dd552:/examples# horovodrun -np 4 -H localhost:4 python keras_mnist_advanced.py    // 旧版本只有mpirun,不是horovodrun

下面的错误信息是因为容器运行没有用--privileged参数 

Read -1, expected 131072, errno = 1  

 

添加Mellanox RDMA支持

如果你有Mellanox网卡, 

 

参考链接:

 

转载于:https://www.cnblogs.com/yangwenhuan/p/11165168.html

你可能感兴趣的文章
四则运算1
查看>>
Web API框架学习——消息管道(二)
查看>>
【转】请求处理机制其二:Django中间件的解析
查看>>
如何让Div层悬浮在Flash Object对象之上(转载)
查看>>
Visual Studio Code compile error - launch.json must be configured...
查看>>
【算法竞赛-入门经典】计算并输出1+2的值
查看>>
我们应该顶住压力
查看>>
对于大流量的网站,您采用什么样的方法来解决访问量问题?
查看>>
PCIE设备与HOST之间的地址转换
查看>>
Ambari 安装配置 MySql
查看>>
linux下工具exfs用法
查看>>
呼吸灯演示
查看>>
gulp-rev-append md5版本号
查看>>
使用dva框架的总结
查看>>
iOS开发 倒计时
查看>>
windows 下访问bsd系统分区的小工具 ____FFS driver mount manager
查看>>
upload上传
查看>>
easyui学习笔记3—在展开行内的增删改操作
查看>>
easyui学习笔记5—panel加载其他的页面
查看>>
poj 2406 Power Strings(KMP)
查看>>