如何使用 TensorflowFederated 创建自己的联合数据集并在多个设备上进行学习?

How to create your own federated dataset and do learning over multiple devices with TensorflowFederated?

我正在尝试使用 TFF 来实现联邦学习。我启动了 3 个 EC2 实例并在 conda 环境中设置了 TFF。我试图弄清楚如何使用一些 CSV 文件创建联合数据集,然后通过将其中一个作为 Central 而将另外 2 个作为客户端来开始对这些 EC2 实例进行训练。在 TFF 代码中,我可以看到 tff.CLIENTS 有一个 URI 属性,但不确定如何将它映射到 IP/Some-Endpoint 以在客户端和服务器之间进行通信。

我已经搜索了使用当前提供的 TFF 函数来实现这一点的方法,但找不到任何关于实现这种情况的指示。 (因为它是放置文字 tff.CLIENT 和 tff.SERVER 目前无论如何都不会通过 API 公开,并且计划在未来的版本中公开)

在 tensorflow_federated\python\core\impl\placement_literals.py:

里面
 PlacementLiteral(object):
  """A representation of one of the globally recognized placement literals."""

  def __init__(self, name, uri, default_all_equal, description):
    self._name = name
    self._uri = uri #URI for client/Server
    self._description = description
    self._default_all_equal = default_all_equal

NA

TFF目前只全面支持单机模拟。正在开展工作以启用多机仿真环境以实现更快的仿真(尽管在语义上会是相同的结果),但它仍在进行中。

我建议首先在单机模拟中从 运行 TFF 开始。