【问题标题】:How to use TFF api's for custom usage?如何使用 TFF api 进行自定义使用?
【发布时间】:2019-06-10 15:21:54
【问题描述】:

我已经准确地阅读和研究了 TFF guideAPIs 页面。但我对一些细节部分感到困惑。

例如,当我想包装/装饰一个 TF/python 函数时,请使用以下这两个 API:

1. tff.tf_computation()
2. tff.federated_computation()

我找不到它们之间的区别以及何时可以使用它们。特别是,如果我想使用除 FedAvgFedSgd 之外的其他算法。不知你是否知道:

  1. 如何使用它们来操纵输入?他们在 @CLIENT@SERVER 上工作吗?
  2. 除了tff.federated_meantff.federated_sum 的输出值将在服务器中之外,我如何将它们用于其他用途?
  3. 我如何能够访问 @CLIENT@SERVER 中的数据和指标的详细信息?
  4. 为什么我们应该从tff.federated_computation() 调用tff.tf_computation()?在这个link 中,没有任何关于它们的解释。
  5. 这些 API(例如 tff.federated_meantff.federated_sum)是否会修改每个 @CLIENT 的输出元素并将它们带到 @SERVER?

谁能帮我理解这个概念背后的直觉?

【问题讨论】:

标签: python tensorflow tensorflow-federated federated-learning


【解决方案1】:

关于不同函数装饰器的可能经验法则:

  • tff.tf_computation 用于包装 TF 逻辑。想想“张量入,张量出”:这应该与tf.function 的用法非常相似,其中参数和返回值是张量,或张量的嵌套结构。 TFF intrinsics(例如tff.federated_mean)不能在tff.tf_computation 中使用,tff.tf_computations 不能调用tff.federated_computations。类型签名始终处于未放置状态。

  • tff.federated_computation 应该用于包装 TFF 编程抽象。想想“这里的张量,那里的张量”:在这个上下文中,tff.tf_computation 可以应用于 tff.Values,tff.Values 可以使用 intrinsics。类型签名可以接受联合类型(即带有展示位置的类型)。

对于您的问题列表:

  1. 两者都可以处理位于CLIENTSSERVER 的值。例如,调用 my_comptff.tf_computation 可以应用于类型为 int32@CLIENTS 的值 vtff.federated_map(my_comp, v),这将在每个客户端上运行 my_comp
  2. tff.federated_map() 支持将计算逐点(跨客户端)应用于不在服务器上的数据。您可以使用tff.federated_map 在每个客户端上操作指标。 TFF 不适用于不同客户端的单独选项;抽象不支持寻址个人。您或许可以在 Python 中进行模拟,请参阅 Operations performed on the communications between the server and clients
  3. 只需从tff.Computation 返回并调用该计算,即可在模拟中检查放置数据的值。这些值应该在 Python 环境中可用。
  4. tff.tf_computations 应该可以从任何地方调用,如果有文档另有说明,请指出它。我相信想要强调的是tff.federated_computation 可以调用tff.tf_computation,但反之亦然
  5. 教程(Federated Learning for Image ClassificationFederated Learning for Text Generation)显示了在模拟中打印出指标的示例。您可能也对how to print local outputs in tensorflow federated?的答案感兴趣
  6. 如果需要,应直接执行tff.tf_computations。这将避免 TFF 的任何 federated 部分,并简单地委托给 TensorFlow。要将计算应用于联合值并与联合内部函数结合使用,它们必须在 tff.federated_computation 内调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多