tff.framework.Lambda

View source on GitHub

Class Lambda

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

Inherits From: ComputationBuildingBlock

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.

__init__

View source

__init__(
    parameter_name,
    parameter_type,
    result
)

Creates a lambda 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.
  • 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.