tf.distribute.cluster_resolver.UnionResolver
| Просмотреть исходный код на GitHub |
Производит объединение базовых ClusterResolvers.
Наследуется от: ClusterResolver
tf.distribute.cluster_resolver.UnionResolver(
*args, **kwargs
)
Этот класс выполняет объединение двух или более существующих ClusterResolvers. Он объединяет базовые ClusterResolvers и возвращает один объединённый ClusterSpec при вызове cluster_spec. Подробности функции объединения описаны в функции cluster_spec.
Для дополнительных свойств ClusterResolver, таких как тип задачи, индекс задачи, уровень RPC, среда и т. д., мы вернём значение из первого ClusterResolver в объединении.
| Аргументы | |
|---|---|
*args |
ClusterResolver объекты, подлежащие объединению. |
**kwargs |
rpc_layer - (Необязательно) Переопределённое значение для уровня RPC, используемого TensorFlow. task_type - (Необязательно) Переопределённое значение для текущего типа задачи. task_id - (Необязательно) Переопределённое значение для текущего индекса задачи. |
| Исключения | |
|---|---|
TypeError |
Если какой-либо аргумент не является подклассом ClusterResolvers. |
ValueError |
Если аргументы не переданы. |
| Атрибуты | |
|---|---|
environment |
Возвращает текущую среду, в которой работает TensorFlow. Возможны два значения возврата: "google" (когда TensorFlow работает во внутренней среде Google) или пустая строка (когда TensorFlow работает в другом месте). Если вы реализуете ClusterResolver, который работает как в среде Google, так и в открытом исходном коде (например, TPU ClusterResolver или аналогичный), вам необходимо вернуть соответствующую строку в зависимости от среды, которую вам нужно определить. В противном случае, если вы реализуете ClusterResolver, который будет работать только в открытом исходном коде TensorFlow, вам не нужно реализовывать это свойство. |
rpc_layer |
|
task_id |
|
task_type |
|
Методы
cluster_spec
cluster_spec()
Возвращает объединение всех ClusterSpecs из ClusterResolvers.
| Возвращаемое значение | |
|---|---|
| ClusterSpec, содержащий информацию о хостах, объединённую из всех базовых ClusterResolvers. |
| Исключения | |
|---|---|
KeyError |
Если при объединении двух или более словарей обнаружены конфликтующие ключи, генерируется это исключение. |
Примечание:Если несколько ClusterResolvers предоставляют ClusterSpecs с одинаковым именем задачи, мы объединим список/словарь рабочих узлов.
Если все базовые ClusterSpecs предоставляют набор рабочих узлов в виде списков, мы объединим списки рабочих узлов, начиная со списка рабочих узлов из первого ClusterResolver, переданного в конструктор.
Если любой из ClusterSpecs предоставляет набор рабочих узлов в виде словаря, мы будем обрабатывать все наборы рабочих узлов как словари (даже если они возвращаются как списки) и объединим их только в словарь, если нет конфликтующих ключей. Если есть конфликтующий ключ, мы сгенерируем KeyError.
master
master(
task_type=None, task_id=None, rpc_layer=None
)
Возвращает адрес мастера для использования при создании сессии.
Обычно возвращает мастер из первого переданного ClusterResolver, но вы можете переопределить это, указав task_type и task_id.
| Аргументы | |
|---|---|
task_type |
(Необязательно) Тип задачи TensorFlow мастера. |
task_id |
(Необязательно) Индекс задачи TensorFlow мастера. |
rpc_layer |
(Необязательно) Протокол RPC для данного кластера. |
| Возвращаемое значение | |
|---|---|
| Имя или URL мастера сессии. |
num_accelerators
num_accelerators(
task_type=None, task_id=None, config_proto=None
)
Возвращает количество ускорителей на рабочий узел.
Возвращает количество ускорителей (например, GPU и TPU) на рабочий узел.
Мы также позволяем вызывающим сторонам указать task_type и task_id, чтобы нацелить запрос на конкретный процесс TensorFlow. Это нужно для поддержки гетерогенных сред, где количество ускорителей на хост отличается.
| Аргументы | |
|---|---|
task_type |
(Необязательно) Тип задачи TensorFlow машины, которую мы хотим запросить. |
task_id |
(Необязательно) Индекс задачи TensorFlow машины, которую мы хотим запросить. |
config_proto |
(Необязательно) Конфигурация для запуска новой сессии для запроса количества ускорителей. |
| Возвращаемое значение | |
|---|---|
| Словарь типов ускорителей и количества ядер. |
© 2020 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/versions/r1.15/api_docs/python/tf/distribute/cluster_resolver/UnionResolver