Spec-Zone.ru › TensorFlow

tf.distribute.coordinator.experimental_get_current_worker_index

Возвращает текущий индекс работника, когда вызывается внутри блока работника.

tf.distribute.coordinator.experimental_get_current_worker_index()

Некоторые рабочие нагрузки обучения с сервером параметров могут потребовать, чтобы работник знал свой индекс, например, для фрагментации данных для обучения с уменьшенной дисперсией.

Этот метод может быть использован внутри tf.function, который выполняется на работнике. То есть, либо в dataset_fn, который выполняется через ClusterCoordinator.create_per_worker_dataset, или в любой другой функции, запланированной через ClusterCoordinator.schedule.

Пример (фрагментация данных по работнику):

strategy = tf.distribute.ParameterServerStrategy(
    cluster_resolver=...)
coordinator = (
    tf.distribute.coordinator.ClusterCoordinator(strategy))

def dataset_fn(context):
  dataset = tf.data.Dataset.range(10)
  worker_index = (
      tf.distribute.coordinator.experimental_get_current_worker_index()
  )
  dataset = dataset.shard(
      num_shards=num_workers,
      index=worker_index,
  )
  return dataset

@tf.function
def per_worker_dataset_fn():
  return strategy.distribute_datasets_from_function(dataset_fn)

per_worker_dataset = coordinator.create_per_worker_dataset(
    per_worker_dataset_fn)
Возможные исключения
RuntimeError если вызывается вне tf.function или вне контекста выполнения удаленного закрытия (то есть, на машине, не являющейся работником).

© 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/api_docs/python/tf/distribute/coordinator/experimental_get_current_worker_index

Spec-Zone.ru

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