tf.train.ClusterSpec

Represents a cluster as a set of "tasks", organized into "jobs".

Used in the notebooks

Used in the tutorials

A tf.train.ClusterSpec represents the set of processes that participate in a distributed TensorFlow computation. Every tf.distribute.Server is constructed in a particular cluster.

To create a cluster with two jobs and five tasks, you specify the mapping from job names to lists of network addresses (typically hostname-port pairs).

cluster = tf.train.ClusterSpec({"worker": ["worker0.example.com:2222",
                                           "worker1.example.com:2222",
                                           "worker2.example.com:2222"],
                                "ps": ["ps0.example.com:2222",
                                       "ps1.example.com:2222"]})

Each job may also be specified as a sparse mapping from task indices to network addresses. This enables a server to be configured without needing to know the identity of (for example) all other worker tasks:

cluster = tf.train.ClusterSpec({"worker": {1: "worker1.example.com:2222"},
                                "ps": ["ps0.example.com:2222",
                                       "ps1.example.com:2222"]})

cluster A dictionary mapping one or more job names to (i) a list of network addresses, or (ii) a dictionary mapping integer task indices to network addresses; or a tf.train.ClusterDef protocol buffer.

TypeError If cluster is not a dictionary mapping strings to lists of strings, and not a tf.train.ClusterDef protobuf.

jobs Returns a list of job names in this cluster.

Methods

as_cluster_def

View source

Returns a tf.train.ClusterDef protocol buffer based on this cluster.

as_dict

View source

Returns a dictionary from job names to their tasks.

For each job, if the task index space is dense, the corresponding value will be a list of network addresses; otherwise it will be a dictionary mapping (sparse) task indices to the corresponding addresses.

Returns
A dictionary mapping job names to lists or dictionaries describing the tasks in those jobs.

job_tasks

View source

Returns a mapping from task ID to address in the given job.

Args
job_name The string name of a job in this cluster.

Returns
A list of task addresses, where the index in the list corresponds to the task index of each task. The list may contain None if the job was defined with a sparse set of task indices.

Raises
ValueError If job_name does not name a job in this cluster.

num_tasks

View source

Returns the number of tasks defined in the given job.

Args
job_name The string name of a job in this cluster.

Returns
The number of tasks defined in the given job.

Raises
ValueError If job_name does not name a job in this cluster.

task_address

View source

Returns the address of the given task in the given job.

Args
job_name The string name of a job in this cluster.
task_index A non-negative integer.

Returns
The address of the given task in the given job.

Raises
ValueError If job_name does not name a job in this cluster, or no task with index task_index is defined in that job.

task_indices

View source

Returns a list of valid task indices in the given job.

Args
job_name The string name of a job in this cluster.

Returns
A list of valid task indices in the given job.

Raises
ValueError If job_name does not name a job in this cluster, or no task with index task_index is defined in that job.

__bool__

View source

__eq__

View source

Return self==value.

__ne__

View source

Return self!=value.

__nonzero__

View source