TensorFlow 2.0 Beta is available Learn more

tff.framework.Selection

Class Selection

A selection by name or index from a tuple-typed value in TFF's language.

Inherits From: ComputationBuildingBlock

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

The concise syntax for selections is foo.bar (selecting a named bar from the value of expression foo), and foo[n] (selecting element at index n from the value of foo).

__init__

__init__(
    source,
    name=None,
    index=None
)

A selection from 'source' by a string or numeric 'name_or_index'.

Exactly one of 'name' or 'index' must be specified (not None).

Args:

  • source: The source value to select from (an instance of ComputationBuildingBlock).
  • name: A string name of the element to be selected.
  • index: A numeric index of the element to be selected.

Raises:

  • TypeError: if arguments are of the wrong types.
  • ValueError: if the name is empty or index is negative, or the name/index is not compatible with the type signature of the source, or neither or both are defined (not None).

Properties

index

name

proto

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

source

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

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.