def federated_collect(self, value): """Implements `federated_collect` as defined in `api/intrinsics.py`.""" value = value_impl.to_value(value, None, self._context_stack) value = value_utils.ensure_federated_value(value, placements.CLIENTS, 'value to be collected') value = value_impl.ValueImpl.get_comp(value) comp = building_block_factory.create_federated_collect(value) return value_impl.ValueImpl(comp, self._context_stack)
def federated_collect(value): """Returns a federated value from `tff.CLIENTS` as a `tff.SERVER` sequence. Args: value: A value of a TFF federated type placed at the `tff.CLIENTS`. Returns: A stream of the same type as the member constituents of `value` placed at the `tff.SERVER`. Raises: TypeError: If the argument is not a federated TFF value placed at `tff.CLIENTS`. """ value = value_impl.to_value(value, None) value = value_utils.ensure_federated_value(value, placements.CLIENTS, 'value to be collected') comp = building_block_factory.create_federated_collect(value.comp) comp = _bind_comp_as_reference(comp) return value_impl.Value(comp)
def create_whimsy_called_federated_collect(value_type=tf.int32): federated_type = computation_types.at_clients(value_type) value = building_blocks.Data('data', federated_type) return building_block_factory.create_federated_collect(value)