tff.framework.Struct

A struct with named or unnamed elements in TFF's internal language.

Inherits From: ComputationBuildingBlock, TypedObject, Struct

The concise notation for structs is <name_1=value_1, ...., name_n=value_n> for structs with named elements, <value_1, ..., value_n> for structs with unnamed elements, or a mixture of these for structs with some named and some unnamed elements, where name_k are the names, and value_k are the value expressions.

For example, a lambda expression that applies fn to elements of 2-structs pointwise could be represented as (arg -> <fn(arg[0]),fn(arg[1])>).

elements The elements of the struct, supplied as a list of (name, value) pairs, where 'name' can be None in case the corresponding element is not named and only accessible via an index (see also structure.Struct).
container_type An optional Python container type to associate with the struct.

TypeError if arguments are of the wrong types.

proto Returns a serialized form of this object as a pb.Computation instance.
type_signature Returns the TFF type of this object (an instance of tff.Type).

Methods

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.

named

View source

Constructs a new Struct with all named elements.

structural_representation

View source

Returns the structural string representation of this building block.

unnamed

View source

Constructs a new Struct with all unnamed elements.

__eq__

View source

Return self==value.

__getitem__

View source

__iter__

View source

__len__

View source

__ne__

View source

Return self!=value.