Spec-Zone.ru › TensorFlow 1.15

tf.train.replica_device_setter

Возвращает device function для построения графа для реплик.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.train.replica_device_setter

tf.train.replica_device_setter(
    ps_tasks=0, ps_device='/job:ps', worker_device='/job:worker',
    merge_devices=True, cluster=None, ps_ops=None, ps_strategy=None
)

Функции устройств используются в with tf.device(device_function): операторе для автоматического назначения устройств Operation объектам по мере их создания. Ограничения устройств добавляются из самого внутреннего контекста сначала, работая наружу. Поведение объединения добавляет ограничения к полям, которые еще не установлены более внутренним контекстом. В настоящее время полями являются (job, task, cpu/gpu).

Если cluster равно None, и ps_tasks равно 0, возвращаемая функция является бесполезной. В противном случае значение ps_tasks выводится из cluster.

По умолчанию только операции переменных размещаются на задачах ps, а стратегия размещения — циклический обход всех задач ps. Можно использовать пользовательскую ps_strategy для более интеллектуального размещения, например, tf.contrib.training.GreedyLoadBalancingStrategy.

Например,

# To build a cluster with two ps jobs on hosts ps0 and ps1, and 3 worker
# jobs on hosts worker0, worker1 and worker2.
cluster_spec = {
    "ps": ["ps0:2222", "ps1:2222"],
    "worker": ["worker0:2222", "worker1:2222", "worker2:2222"]}
with
tf.device(tf.compat.v1.train.replica_device_setter(cluster=cluster_spec)):
  # Build your graph
  v1 = tf.Variable(...)  # assigned to /job:ps/task:0
  v2 = tf.Variable(...)  # assigned to /job:ps/task:1
  v3 = tf.Variable(...)  # assigned to /job:ps/task:0
# Run compute
Аргументы
ps_tasks Число задач в ps задаче. Игнорируется, если предоставлено cluster
ps_device Строка. Устройство ps задачи. Если пусто, задача ps не используется. По умолчанию ps.
worker_device Строка. Устройство worker задачи. Если пусто, задача worker не используется.
merge_devices Boolean. Если True, объединяет или устанавливает устройство только в том случае, если ограничение устройства полностью не установлено. Объединяет спецификацию устройства вместо ее перезаписи.
cluster ClusterDef протокол или ClusterSpec.
ps_ops Список строк, представляющих Operation типы, которые необходимо разместить на устройствах ps. Если None, по умолчанию STANDARD_PS_OPS.
ps_strategy Вызываемая функция для каждой ps Operation (т.е. соответствующая ps_ops), которая принимает Operation и возвращает индекс задачи ps для использования. Если None, по умолчанию используется стратегия циклического обхода всех устройств ps.
Возвращает
Функция для передачи в tf.device().
Возможные исключения
TypeError, если cluster не является словарем или ClusterDef протоколом, или если ps_strategy предоставлен, но не является вызываемой функцией.

© 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/train/replica_device_setter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API