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

时间:2019-08-01 06:51:49

标签: tensorflow tensorflow-federated

我正在尝试使用TFF实施联合学习。我已经启动了3个EC2实例,并在conda环境中设置了TFF。我试图弄清楚如何使用一些CSV文件创建联合数据集,然后通过将其中一个EC2实例作为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

1 个答案:

答案 0 :(得分:2)

TFF当前仅完全支持单机仿真。目前正在做一些工作,以使多计算机仿真环境能够实现更快的仿真(尽管从语义上讲,结果是相同的),但这种方法仍在进行中。

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