首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用horovod对正常值进行所有的allreduce操作?

如何使用horovod对正常值进行所有的allreduce操作?
EN

Stack Overflow用户
提问于 2017-11-29 15:24:38
回答 2查看 1K关注 0票数 2

Horovod可以很容易地计算tensorflow的梯度。我们可以使用horovod来计算普通值吗?例如:

代码语言:javascript
复制
import horovod.tensorflow as hvd
import numpy as np
hvd.init()
hvd_r=int(hvd.rank())
#each process compute a small part of something and then compute the average etc.
test_array=np.random.rand(100,100,100)
#compute a small part
x=np.mean(test_array[hvd_r*10:(hvd_r+1)*(10),:,:])
#compute the average for all processes
y=hvd.sth(x)
#only one process print out the result
if(hvd_r==0):
    print("mean of the big array is %f"%y)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-30 14:55:26

代码语言:javascript
复制
import horovod.keras as hvd
import numpy as np
hvd.init()
hvd_r=int(hvd.rank())
#each process compute a small part of something and then compute the average etc.
test_array=np.random.rand(100,100,100)
#compute a small part
x=np.mean(test_array[hvd_r*10:(hvd_r+1)*(10),:,:])
#compute the average for all processes
y=hvd.allreduce(x)
#only one process print out the result
if(hvd_r==0):
    print("mean of the big array is %f"%y)
票数 3
EN

Stack Overflow用户

发布于 2018-08-18 05:11:03

在第10行,将其更改为

代码语言:javascript
复制
y=hvd.allreduce(x)

它会给你想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47547179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档