我仔细阅读和研究了TFFguide和APIs页。但我对一些细节感到困惑。你知道吗
例如,当我想包装/装饰一个TF/python函数时,请使用以下两个API:
1. tff.tf_computation()
2. tff.federated_computation()
我找不到它们之间有什么区别,什么时候我可以使用它们。特别是,如果我想使用除FedAvg或FedSgd之外的其他算法。我想知道你是否知道:
tff.federated_mean
或tff.federated_sum
的输出值将在服务器中之外,我如何在其他用法中使用它们?你知道吗tff.federated_computation()
调用tff.tf_computation()
?在这个link中,没有任何关于它们的解释。你知道吗tff.federated_mean
或tff.federated_sum
)是否修改了每个@CLIENT的输出元素并将它们带到@SERVER?你知道吗有人能帮我理解这个概念背后的直觉吗?你知道吗
关于不同函数装饰器的一个可能的经验法则:
tff.tf_computation
用于包装TF逻辑。想想“张量输入,张量输出”:这应该非常类似于tf.function
的用法,其中参数和返回值是张量,或者是张量的嵌套结构。TFF内部函数(例如tff.federated_mean
)不能在tff.tf_computation
内部使用,tff.tf_computations
不能调用tff.federated_computations
。类型签名始终处于未放置状态。tff.federated_computation
应该用于包装TFF编程抽象。想想这里的张量,那里的张量:在这个上下文中,tff.tf_computation
可以应用于tff.Value
,而tff.Value
可以使用内部函数与其他位置进行通信。类型签名可以接受联合类型(即带有位置的类型)。关于你的问题清单:
CLIENTS
或SERVER
的值。例如,名为tff.tf_computation
的my_comp
可以应用于v
类型为int32@CLIENTS
类型为tff.federated_map(my_comp, v)
的值,该值将在每个客户机上运行my_comp
。你知道吗tff.federated_map
操作每个客户机上的度量。TFF不适用于不同客户机上的单独选项;抽象不支持寻址个人。您可以在Python中对此进行模拟,请参见Operations performed on the communications between the server and clients。你知道吗tff.Computation
返回并调用该计算,就可以检查所放置数据的值。这些值应该在Python环境中可用。你知道吗tff.tf_computation
应该可以从任何地方调用,如果文档中另有说明,请指向它。我相信我们要强调的是tff.federated_computation
可以调用tff.tf_computation
,但是不能反之亦然。你知道吗tff.tf_computations
如果需要,应该直接执行。这将避免TFF的任何联邦部分,并简单地委托给TensorFlow。要将计算应用于联邦值并与联邦内部函数结合使用,必须在tff.federated_computation
内部调用它们。你知道吗相关问题 更多 >
编程相关推荐