View source on GitHub
|
Represents a cluster as a set of "tasks", organized into "jobs".
tf.train.ClusterSpec(
cluster
)
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.jobs: Returns a list of job names in this cluster.TypeError: If cluster is not a dictionary mapping strings to lists
of strings, and not a tf.train.ClusterDef protobuf.__bool____bool__()
__eq____eq__(
other
)
Return self==value.
__ne____ne__(
other
)
Return self!=value.
__nonzero____nonzero__()
as_cluster_defas_cluster_def()
Returns a tf.train.ClusterDef protocol buffer based on this cluster.
as_dictas_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_tasksjob_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_tasksnum_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_addresstask_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_indicestask_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.