Help protect the Great Barrier Reef with TensorFlow on Kaggle

# tff.federated_secure_sum

Computes a sum at `tff.SERVER` of a `value` placed on the `tff.CLIENTS`.

This function computes a sum such that it should not be possible for the server to learn any clients individual value. The specific algorithm and mechanism used to compute the secure sum may vary depending on the target runtime environment the computation is compiled for or executed on. See https://research.google/pubs/pub47246/ for more information.

Not all executors support `tff.federated_secure_sum()`; consult the documentation for the specific executor or executor stack you plan on using for the specific of how it's handled by that executor.

The `bitwidth` argument represents the bitwidth of the aggregand, that is the bitwidth of the input `value`. The federated secure sum bitwidth (i.e., the bitwidth of the sum of the input `value`s over all clients) will be a function of this bitwidth and the number of participating clients.

#### Example:

``````value = tff.federated_value(1, tff.CLIENTS)
result = tff.federated_secure_sum(value, 2)

value = tff.federated_value([1, 1], tff.CLIENTS)
result = tff.federated_secure_sum(value, [2, 4])

value = tff.federated_value([1, [1, 1]], tff.CLIENTS)
result = tff.federated_secure_sum(value, [2, [4, 8]])
``````

`value` An integer value of a TFF federated type placed at the `tff.CLIENTS`, in the range [0, 2^bitwidth - 1].
`bitwidth` An integer or nested structure of integers matching the structure of `value`. If integer `bitwidth` is used with a nested `value`, the same integer is used for each tensor in `value`.

A representation of the sum of the member constituents of `value` placed on the `tff.SERVER`.

`TypeError` If the argument is not a federated TFF value placed at `tff.CLIENTS`.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]