The abstract base class for abstractions in the TFF's internal language.
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
Constructs a computation building block with the given TFF type.
type_spec: An instance of types.Type, or something convertible to it via types.to_type().
Returns a serialized form of this object as a pb.Computation instance.
Returns the TFF type of this object (an instance of
Returns the compact string representation of this building block.
Returns the formatted string representation of this building block.
@classmethod from_proto( cls, computation_proto )
Returns an instance of a derived class based on 'computation_proto'.
computation_proto: An instance of pb.Computation.
An instance of a class that implements 'ComputationBuildingBlock' and that contains the deserialized logic from in 'computation_proto'.
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.
Returns the structural string representation of this building block.