![]() |
The abstract base class for abstractions in the TFF's internal language.
Inherits From: TypedObject
tff.framework.ComputationBuildingBlock(
type_spec
)
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
).
Args | |
---|---|
type_spec
|
An instance of types.Type, or something convertible to it via types.to_type(). |
Attributes | |
---|---|
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
check_block()
Check that this is a 'Block'.
check_call
check_call()
Check that this is a 'Call'.
check_compiled_computation
check_compiled_computation()
Check that this is a 'CompiledComputation'.
check_data
check_data()
Check that this is a 'Data'.
check_intrinsic
check_intrinsic()
Check that this is an 'Intrinsic'.
check_lambda
check_lambda()
Check that this is a 'Lambda'.
check_placement
check_placement()
Check that this is a 'Placement'.
check_reference
check_reference()
Check that this is a 'Reference'.
check_selection
check_selection()
Check that this is a 'Selection'.
check_struct
check_struct()
Check that this is a Struct
.
children
@abc.abstractmethod
children() -> Iterator['ComputationBuildingBlock']
Returns an iterator yielding immediate child building blocks.
compact_representation
compact_representation()
Returns the compact string representation of this building block.
formatted_representation
formatted_representation()
Returns the formatted string representation of this building block.
from_proto
@classmethod
from_proto( computation_proto: pb.Computation ) -> 'ComputationBuildingBlock'
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
structural_representation()
Returns the structural string representation of this building block.