tff.framework.ComputationBuildingBlock

The abstract base class for abstractions in the TFF's internal language.

Inherits From: TypedObject

Instances of this class correspond roughly one-to-one to the abstractions defined in the Computation message in TFF's computation.proto, and are intended primarily for the ease of manipulating the abstract syntax trees (AST) of federated computations as they are transformed by TFF's compiler pipeline to mold into the needs of a particular execution backend. The only abstraction that does not have a dedicated Python equivalent is a section of TensorFlow code (it's represented by tff.framework.CompiledComputation).

type_spec An instance of types.Type, or something convertible to it via types.to_type().

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

check_block

View source

Check that this is a 'Block'.

check_call

View source

Check that this is a 'Call'.

check_compiled_computation

View source

Check that this is a 'CompiledComputation'.

check_data

View source

Check that this is a 'Data'.

check_intrinsic

View source

Check that this is an 'Intrinsic'.

check_lambda

View source

Check that this is a 'Lambda'.

check_placement

View source

Check that this is a 'Placement'.

check_reference

View source

Check that this is a 'Reference'.

check_selection

View source

Check that this is a 'Selection'.

check_struct

View source

Check that this is a Struct.

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.