tf.config.experimental_connect_to_cluster
| Просмотреть исходный код на GitHub |
Подключается к заданному кластеру.
tf.config.experimental_connect_to_cluster(
cluster_spec_or_resolver,
job_name='localhost',
task_index=0,
protocol=None,
make_master_device_default=True,
cluster_device_filters=None
)
Сделает устройства в кластере доступными для использования. Обратите внимание, что вызов этого более одного раза будет работать, но приведет к аннулированию всех дескрипторов тензоров на старых удалённых устройствах.
Если указанное имя локальной работы отсутствует в спецификации кластера, оно будет автоматически добавлено, используя неиспользуемый порт на localhost.
Можно указать фильтры устройств, чтобы изолировать группы удалённых задач и избежать нежелательных обращений между рабочими процессами. Рабочие процессы, обращающиеся к ресурсам или запускающие операции/функции на отфильтрованных удалённых устройствах, приведут к ошибкам (неизвестные устройства). Для любой удалённой задачи, если фильтр устройств отсутствует, все устройства кластера будут видны; если указан любой фильтр устройств, он может видеть только устройства, соответствующие хотя бы одному фильтру. Устройства на самой задаче всегда видны. Фильтры устройств могут быть частично указаны.
Например, для кластера, настроенного для обучения с параметрическим сервером, могут быть указаны следующие фильтры устройств:
cdf = tf.config.experimental.ClusterDeviceFilters()
# For any worker, only the devices on PS nodes and itself are visible
for i in range(num_workers):
cdf.set_device_filters('worker', i, ['/job:ps'])
# Similarly for any ps, only the devices on workers and itself are visible
for i in range(num_ps):
cdf.set_device_filters('ps', i, ['/job:worker'])
tf.config.experimental_connect_to_cluster(cluster_def,
cluster_device_filters=cdf)
| Аргументы | |
|---|---|
cluster_spec_or_resolver | ClusterSpec или ClusterResolver описывающие кластер. |
job_name | Имя локальной работы. |
task_index | Индекс локальной задачи. |
protocol | Протокол связи, например "grpc". Если не указано, будет использоваться значение по умолчанию из python/platform/remote_utils.py. |
make_master_device_default | Если True и передаётся резолвер кластера, автоматически входит в область видимости устройства основной задачи, что означает, что главный становится устройством по умолчанию для запуска операций. Если передана спецификация кластера, ничего не сделает. Вызовет ошибку, если вызывающий процесс уже находится в какой-либо области видимости устройства. |
cluster_device_filters | экземпляр tf.train.experimental/ClusterDeviceFilters, определяющий фильтры устройств для удалённых задач в кластере. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/config/experimental_connect_to_cluster