View source on GitHub |
A reference to a name defined earlier in TFF's internal language.
Inherits From: ComputationBuildingBlock
, TypedObject
tff.framework.Reference(
name: str, type_spec: object, context=None
)
Names are defined by lambda expressions (which have formal named parameters), and block structures (which can have one or more locals). The reference construct is used to refer to those parameters or locals by a string name. The usual hiding rules apply. A reference binds to the closest definition of the given name in the most deeply nested surrounding lambda or block.
A concise notation for a reference to name foo
is foo
. For example, in
a lambda expression (x -> f(x))
there are two references, one to x
that
is defined as the formal parameter of the lambda epxression, and one to f
that must have been defined somewhere in the surrounding context.
Raises | |
---|---|
TypeError
|
if the arguments are of the wrong types. |
Attributes | |
---|---|
context
|
|
name
|
|
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
children() -> Iterator[tff.framework.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 ) -> 'Reference'
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.
__eq__
__eq__(
other: object
) -> bool
Return self==value.