I have read and studied the TFF guide and APIs pages precisely. But I am confused in some detail parts.
For example, when I want to wrap/decorate a TF/python function, use these two below APIs:
1. tff.tf_computation()
2. tff.federated_computation()
I can not find what are differences between them and when I am allowed to use them. Especially, in case I want to use other algorithms except for FedAvg or FedSgd. I wonder if you know:
- How they could be used to manipulate inputs? do they work on @CLIENT or @SERVER?
- How I could use them in another usage except for the output of
tff.federated_mean
ortff.federated_sum
that the value will be in the server? - How I am able to have access to the detail of data and metrics in @CLIENT and @SERVER?
- Why we should invoke the
tff.tf_computation()
fromtff.federated_computation()
? In this link, there was not any explanation about them. - Do these APIs (e.g.
tff.federated_mean
ortff.federated_sum
) modify the output elements of each @CLIENT and bring them to the @SERVER?
Could anyone help me to understand intuitive behind the concept?