tff.framework.Selection

A selection by name or index from a struct-typed value in TFF's language.

Inherits From: ComputationBuildingBlock, TypedObject

The concise syntax for selections is foo.bar (selecting a named bar from the value of expression foo), and foo[n] (selecting element at index n from the value of foo).

source The source value to select from (an instance of ComputationBuildingBlock).
name A string name of the element to be selected.
index A numeric index of the element to be selected.

TypeError if arguments are of the wrong types.
ValueError if the name is empty or index is negative, or the name/index is not compatible with the type signature of the source, or neither or both are defined (not None).

index

name

proto Returns a serialized form of this object as a pb.Computation instance.
source

type_signature Returns the TFF type of this object (an instance of tff.Type).

Methods

as_index

View source

children

View source

Returns an iterator yielding immediate child building blocks.

compact_representation

View source

Returns the compact string representation of this building block.

formatted_representation

View source

Returns the formatted string representation of this building block.

from_proto

View source

Returns an instance of a derived class based on 'computation_proto'.

Args
computation_proto An instance of pb.Computation.

Returns
An instance of a class that implements 'ComputationBuildingBlock' and that contains the deserialized logic from in 'computation_proto'.

Raises
NotImplementedError if computation_proto contains a kind of computation for which deserialization has not been implemented yet.
ValueError if deserialization failed due to the argument being invalid.

structural_representation

View source

Returns the structural string representation of this building block.

__eq__

View source

Return self==value.