tff.framework.Lambda

View source on GitHub

A representation of a lambda expression in TFF's internal language.

Inherits From: ComputationBuildingBlock

tff.framework.Lambda(
    parameter_name, parameter_type, result
)

A lambda expression consists of a string formal parameter name, and a result expression that can contain references by name to that formal parameter. A concise notation for lambdas is (foo -> bar), where foo is the name of the formal parameter, and bar is the result expression.

Args:

  • parameter_name: The (string) name of the parameter accepted by the lambda. This name can be used by Reference() instances in the body of the lambda to refer to the parameter. Note that an empty parameter name shall be treated as equivalent to no parameter.
  • parameter_type: The type of the parameter, an instance of types.Type or something convertible to it by types.to_type().
  • result: The resulting value produced by the expression that forms the body of the lambda. Must be an instance of ComputationBuildingBlock.

Raises:

  • TypeError: if the arguments are of the wrong types.

Properties

parameter_name

parameter_type

proto

Returns a serialized form of this object as a pb.Computation instance.

result

type_signature

Returns the TFF type of this object (an instance of tff.Type).

Methods

compact_representation

View source

compact_representation()

Returns the compact string representation of this building block.

formatted_representation

View source

formatted_representation()

Returns the formatted string representation of this building block.

from_proto

View source

@classmethod
from_proto(
    cls, computation_proto
)

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

structural_representation()

Returns the structural string representation of this building block.