首页 > 解决方案 > 如何创建自己的联合数据集并使用 TensorflowFederated 在多个设备上进行学习?

问题描述

我正在尝试使用 TFF 来实现联邦学习。我已经启动了 3 个 EC2 实例并在 conda 环境中设置了 TFF。我试图弄清楚如何使用一些 CSV 文件创建一个联合数据集,然后通过将其中一个作为中央服务器和另外两个作为客户端来开始对这些 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

标签: tensorflowtensorflow-federated

解决方案


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

我建议首先在单机仿真中运行 TFF。


推荐阅读