【问题标题】:train on multiple devices在多个设备上训练
【发布时间】:2020-10-05 23:15:54
【问题描述】:

我知道 TensorFlow 提供分布式训练 API,可以在多个设备上进行训练,例如多个 GPU、CPU、TPU 或多台计算机(工作人员) 关注此文档:https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras

但我有一个问题,是否有任何可能的方法可以使用数据并行性拆分火车以跨多台机器(包括移动设备和计算机设备)进行训练?

如果您有任何教程/说明,我将不胜感激。

【问题讨论】:

  • 所以您想使用所有设备,无论是 PDA、手机还是系统来训练您的模型?
  • @YashKumarAtri 是的。我想在许多不同的设备上拆分训练以减少训练阶段的时间。
  • 没用。小型设备没有那么强大的硬件,整个想法是在更大的机器上训练模型,并使用模型蒸馏在移动设备上进行推理。但是您可以使用同一网络上的计算机进行培训。

标签: tensorflow machine-learning distributed-training


【解决方案1】:

据我所知,考虑到所有设备都应该在同一个网络中,Tensorflow 仅支持 CPU、TPU 和 GPU 进行分布式训练。

如你所说,连接多个设备可以关注Multi-worker training

tf.distribute.Strategy 集成到 tf.keras,因此当 model.fittf.distribute.Strategy 实例一起使用,然后将 strategy.scope() 用于您的模型时,可以创建分布式变量。这允许它在您的设备。 您可以关注this 教程了解更多详情。
Distributed input 也可以帮助你。

【讨论】:

    猜你喜欢
    • 2020-11-28
    • 2019-12-25
    • 1970-01-01
    • 2021-08-18
    • 2019-01-12
    • 2021-11-16
    • 1970-01-01
    • 2023-03-13
    • 2020-04-27
    相关资源
    最近更新 更多