TensorFlow 2.0 Beta is available Learn more

tff.framework.Tuple

Class Tuple

A tuple with named or unnamed elements in TFF's internal language.

Inherits From: ComputationBuildingBlock

Defined in python/core/impl/computation_building_blocks.py.

The concise notation for tuples is <name_1=value_1, ...., name_n=value_n> for tuples with named elements, <value_1, ..., value_n> for tuples with unnamed elements, or a mixture of these for tuples with ome named and some unnamed elements, where name_k are the names, and value_k are the value expressions.

For example, a lambda expression that applies fn to elements of 2-tuples pointwise could be represented as (arg -> <fn(arg[0]),fn(arg[1])>).

__init__

__init__(elements)

Constructs a tuple from the given list of elements.

Args:

  • elements: The elements of the tuple, supplied as a list of (name, value) pairs, where 'name' can be None in case the corresponding element is not named and only accessible via an index (see also AnonymousTuple).

Raises:

  • TypeError: if arguments are of the wrong types.

Properties

proto

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

tff_repr

Returns the representation of the instance using TFF syntax.

type_signature

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

Methods

__eq__

__eq__(other)

Return self==value.

__getitem__

__getitem__(key)

__iter__

__iter__()

__len__

__len__()

__ne__

__ne__(other)

Return self!=value.

from_proto

@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.