【问题标题】:Parallel training with CNTK and numpy interop使用 CNTK 和 numpy 互操作进行并行训练
【发布时间】:2017-04-12 15:15:56
【问题描述】:

我正在训练一个自动编码器网络,每个训练样本需要读取三张图像(一张输入 RGB 图像,两张输出 RGB 图像)。使用 python 和 numpy 互操作并读取我自己的图像文件很容易。

如何启用并行/分布式训练?我必须使用培训课程结构吗?我必须使用图像阅读器小批量源吗?

【问题讨论】:

    标签: python cntk


    【解决方案1】:

    有以下选项: 1) 使用分布式学习器 + 训练课程 - 然后您需要使用 ImageDeserializer,或实现您自己的 MinibatchSource(此可扩展性仅在 RC2 开始可用) 2)使用分布式学习器+自己编写训练循环。在这种情况下,您必须注意拆分数据(每个工作人员应该只读取与其等级相对应的图像),并且循环内的所有条件都应该基于 trainer->TotalNumberOfSamples() (即,如果你做了任何检查点)。

    【讨论】:

      【解决方案2】:

      您是否查看过以下链接,了解如何使用 mpiexec 在多台机器上并行训练?

      https://github.com/Microsoft/CNTK/wiki/Multiple-GPUs-and-machines#32-python

      【讨论】:

      • 这些示例似乎使用了需要小批量源的 python training_session。我不能使用内置的图像阅读器作为小批量源,这就是为什么我使用 numpy 互操作来输入数据。我有一种感觉并行化将无法正常工作?
      猜你喜欢
      • 2017-08-26
      • 2023-04-11
      • 2020-01-12
      • 2021-11-19
      • 2018-05-29
      • 2021-05-23
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多