tf.contrib.cluster_resolver.UnionClusterResolver

Class UnionClusterResolver

Inherits From: ClusterResolver

Defined in tensorflow/contrib/cluster_resolver/python/training/cluster_resolver.py.

Performs a union on underlying ClusterResolvers.

This class performs a union given two or more existing ClusterResolvers. It merges the underlying ClusterResolvers, and returns one unified ClusterSpec when cluster_spec is called. The details of the merge function is documented in the cluster_spec function.

Methods

__init__

__init__(*args)

Initializes a UnionClusterResolver with other ClusterResolvers.

Args:

  • *args: ClusterResolver objects to be unionized.

Raises:

  • TypeError: If any argument is not a subclass of ClusterResolvers.
  • ValueError: If there are no arguments passed.

cluster_spec

cluster_spec()

Returns a union of all the ClusterSpecs from the ClusterResolvers.

Returns:

A ClusterSpec containing host information merged from all the underlying ClusterResolvers.

Raises:

  • KeyError: If there are conflicting keys detected when merging two or more dictionaries, this exception is raised.

If all underlying ClusterSpecs expose the set of workers as lists, we will concatenate the lists of workers, starting with the list of workers from the first ClusterResolver passed into the constructor.

If any of the ClusterSpecs expose the set of workers as a dict, we will treat all the sets of workers as dicts (even if they are returned as lists) and will only merge them into a dict if there is no conflicting keys. If there is a conflicting key, we will raise a KeyError.

master

master()

master returns the master address from the first cluster resolver.