class tf.train.ClusterSpec
See the guide: Training > Distributed execution
Represents a cluster as a set of "tasks", organized into "jobs".
A tf.train.ClusterSpec
represents the set of processes that participate in a distributed TensorFlow computation. Every tf.train.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"]})
jobs
Returns a list of job names in this cluster.
A list of strings, corresponding to the names of jobs in this cluster.
__init__(cluster)
Creates a ClusterSpec
.
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.as_cluster_def()
Returns a tf.train.ClusterDef
protocol buffer based on this cluster.
as_dict()
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.
A dictionary mapping job names to lists or dictionaries describing the tasks in those jobs.
job_tasks(job_name)
Returns a mapping from task ID to address in the given job.
NOTE: For backwards compatibility, this method returns a list. If the given job was defined with a sparse set of task indices, the length of this list may not reflect the number of tasks defined in this job. Use the tf.train.ClusterSpec.num_tasks
method to find the number of tasks defined in a particular job.
job_name
: The string name of a job in this cluster.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.
ValueError
: If job_name
does not name a job in this cluster.num_tasks(job_name)
Returns the number of tasks defined in the given job.
job_name
: The string name of a job in this cluster.The number of tasks defined in the given job.
ValueError
: If job_name
does not name a job in this cluster.task_address(job_name, task_index)
Returns the address of the given task in the given job.
job_name
: The string name of a job in this cluster.task_index
: A non-negative integer.The address of the given task in the given job.
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(job_name)
Returns a list of valid task indices in the given job.
job_name
: The string name of a job in this cluster.A list of valid task indices in the given job.
ValueError
: If job_name
does not name a job in this cluster, or no task with index task_index
is defined in that job.Defined in tensorflow/python/training/server_lib.py
.
© 2017 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/train/ClusterSpec