问题标签 [horovod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1054 浏览

tensorflow - Tensorflow镜像策略和Horovod分布策略

我试图了解 Tensorflow 镜像策略和 Horovod 分布策略之间的基本区别是什么。

从文档和源代码调查中,我发现 Horovod ( https://github.com/horovod/horovod ) 正在使用消息传递协议 (MPI) 在多个节点之间进行通信。具体来说,它使用 MPI 的 all_reduce、all_gather。

根据我的观察(我可能错了)镜像策略也在使用 all_reduce 算法(https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute)。

他们都使用数据并行、同步的训练方法。所以我有点困惑它们有什么不同?差异仅在实现上还是存在其他(理论)差异?

以及镜像策略的性能与horovod相比如何?

0 投票
1 回答
430 浏览

python - Tensorflow、Horovod 和 NVLINK NotFoundError

我正在尝试使用uber 的 horovod library运行在 GPU 上运行的 tensorflow 神经网络。同时,我正在尝试运行一个测量脚本来测量多个gpus之间的 nvlink。唉,每当我运行文件时,我都会收到以下错误:

tensorflow.python.framework.errors_impl.NotFoundError:/home/pat/.virtualenvs/venv/lib/python3.6/site-packages/horovod /tensorflow/mpi_lib.cpython-36m-x86_64-linux-gnu.so:未定义符号: _ZN10tensorflow14kernel_factory17OpKernelRegist rar12InitInternalEPKNS_9KernelDefEN4absl11string_viewESt10unique_ptrINS0_15OpKernelFactoryESt14default_deleteIS8_EE

有谁知道如何解决这个问题?

谢谢你。

0 投票
1 回答
805 浏览

python - pip install horovod 在 conda + OSX 10.14 上失败

在安装了 pytorch 的 conda 环境中运行pip install horovod导致

error: None of TensorFlow, PyTorch, or MXNet plugins were built. See errors above.

标准输出顶部附近的根本问题是

ld: library not found for -lstdc++ clang: error: linker command failed with exit code 1 (use -v to see invocation) INFO: Unable to build PyTorch plugin, will skip it.

0 投票
1 回答
486 浏览

python - 如何修复:horovod.run.common.util.network.NoValidAddressesFound

我正在尝试使用 2 个 nvidia docker 进行分布式学习。当我尝试使用 2 台主机时,它不起作用。我该如何解决这个问题?

我试过这个命令:

它有效,但是当我尝试时:

我收到了这个错误:

启动 horovodrun 任务功能不成功:horovod.run.common.util.network.NoValidAddressesFound:无法连接到任何地址上的 horovodrun 任务服务 #1:{'lo': [('127.0.0.1', 30871 )], 'docker0': [('172.17.0.1', 30871)], 'enp0s31f6': [('192.168.0.20', 30871)]}

0 投票
0 回答
705 浏览

apache-spark - ValueError:feature_columns 的项目必须是 _FeatureColumn。(张量流 1.13)

我在运行 Tensorflow-1.13 + Horovod-0.16 + Spark-0.24 + Petastorm-0.17 时遇到了 ValueError。这是 model_fn 和一些 indicator_columns 的简单实现,但会引发类似于Items of feature_columns must be a _FeatureColumn 的错误。(张量流 1.8)

错误是

当不通过 h​​orovod.spark.run() 运行代码并使用普通的 tf.Session() 或 hvd.init() 会话时,该代码工作正常。feature_columns 生成为

model_fn 只是一个线性分类器:

并且模型是通过

我知道所有列都正确传递,但从另一个相关问题看来,Spark 如何为 Tensorflow 打包列?

0 投票
1 回答
1478 浏览

python-3.x - ImportError:扩展 horovod.tensorflow 尚未构建

不断收到此错误,我已多次重新安装 horovod 和 tensorflow。请帮忙!

0 投票
1 回答
395 浏览

tensorflow - 自定义指标:使用 scikit learn 的 AucRoc Calculator 和 tf.keras

我正在使用具有 14 个类的 tf.keras 和 horovod 训练一个多标签分类器。AucRoc 被用作评估分类器性能的指标。我希望能够使用此处提到的 scikit learn 的 AucRoc 计算器:如何在 keras 中计算接收操作特性 (ROC) 和 AUC?. 如果我按原样为以下功能提供张量:

我收到如下所示的错误:

我正在尝试将 tf 张量转换为 numpy 数组,然后将它们提供给 roc_auc_score 方法,如下所示:

我收到以下错误:

我也尝试过 tensorflow 的https://www.tensorflow.org/api_docs/python/tf/metrics/auc,如下所示:

它工作得很好。但是,它给了我一个 aucroc 的数字。我想知道这个数字代表什么,它是所有 14 个类的平均 aucroc 值吗?或所有课程的最大 aucscores?或者它是如何得到一个数字的?

1) 如何修复 roc_auc_score 的错误?

2)那个数字代表什么?

0 投票
0 回答
129 浏览

apache-spark - 如何使用 Spark Operator 在 Kubernetes 上运行 Tensorflow - Spark 作业?

我的团队正在寻找一种在 Kubernetes 上使用 Tensorflow 库运行 Spark 作业的方法。我们习惯性地使用 Spark Operator 在 Kubernetes 上运行 Spark。

我应该如何使用 Spark 作业 (PySpark + TF) 创建一个 pod 并让它与 Spark Operator k8s 资源一起使用?

我探索了 Horovod,一个来自 Uber 的开源深度学习框架。我们不使用 GPU 进行训练,Horovod 似乎比我们的目标更适合这些操作。

0 投票
0 回答
1489 浏览

python - FailedPreconditionError:从容器中读取资源变量 *** 时出错

我在使用 horovod 回调运行 model.fit 时看到以下错误。如果我跳过回调 model.fit 运行良好。注意:我正在使用horovod.tensorflow.keras包,我的模型基于tensorflow.keras(我不是直接使用 keras 包,而是来自 tensorflow)

回调如下

环境: 框架:tensorflow.keras Tensorflow 版本 1.13.1 Keras 版本 2.2.4-tf Horovod 版本:horovod==0.17.0.post1 Python 版本:3.6

0 投票
1 回答
595 浏览

python - tensorflow: tf.set_random_seed() 相同的代码,但得到不同的结果

简而言之,在 tensorflow 中,除了 tf.set_random_seed() 之外,我应该设置任何其他配置来重现相同的结果吗?我的代码中没有 numpy 操作。

长版:我正在用 horovod 训练模型,我想重现结果以进行调试。我在构建图表之前设置了 tf.set_random_seed(1) 。所有操作都在 tensorflow 中,没有 numpy.

而且我只是重新运行了几次训练脚本,代码没有被修改。

据我了解,它们应该产生相同的结果,因为图形是按相同的顺序构建的,并且 random_seed 设置相同。session.run 命令不会造成不同,更何况我没有更改代码。

但是,对于多次运行的相同代码,我仍然得到不同的结果。

具体来说,我可以看到输入图像以相同的顺序读取,并且步骤 'tf.image.random_flip_left_right' 产生具有相同种子的随机翻转。

但是我通过以下代码测试了 tf.image.random_flip_left_right,得到了相同的结果。所以这个函数没有bug。它确实接受了全局 tf random_seed 并产生了相同的结果。

相同的种子和图怎么能随机翻转呢?任何建议将不胜感激。