Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.estimator.tpu.TPUConfig

Конфигурация, связанная с TPU, необходимая TPUEstimator.

tf.compat.v1.estimator.tpu.TPUConfig(
    iterations_per_loop=2, num_shards=None, num_cores_per_replica=None,
    per_host_input_for_training=True, tpu_job_name=None,
    initial_infeed_sleep_secs=None, input_partition_dims=None,
    eval_training_input_configuration=InputPipelineConfig.PER_HOST_V1,
    experimental_host_call_every_n_steps=1
)
Аргументы
iterations_per_loop Это количество шагов обучения, выполняемых в системе TPU, прежде чем вернуться на хост CPU для каждого Session.run. Это означает, что глобальный шаг увеличивается iterations_per_loop раз в одном Session.run. Рекомендуется устанавливать значение, равное числу глобальных шагов для следующей точки сохранения. Обратите внимание, что при оценке не используйте это значение; вместо этого мы выполняем полную оценку steps на TPU для одного Session.run. [Экспериментально]: iterations_per_loop может быть указан как временной интервал. Чтобы указать N секунд в одном Session.run, можно указать Ns, заменив N на желаемое количество секунд. Кроме того, единица времени может быть указана в минутах или часах, например, 3600s или 60m или 1h.
num_shards (Устаревшее, игнорируется TPUEstimator). Количество реплик модели в системе. В случае без модельного параллелизма это число равно общему числу ядер TPU. В случае модельного параллелизма общее число ядер TPU равно num_cores_per_replica * num_shards.
num_cores_per_replica По умолчанию None, что отключает модельное параллелизм. Целое число, описывающее количество ядер TPU на одну реплику модели. Это необходимо для модельного параллелизма, который позволяет разделить модель на несколько ядер. В настоящее время num_cores_per_replica должен быть 1, 2, 4 или 8.
per_host_input_for_training Если True, для PER_HOST_V1, input_fn вызывается один раз на каждом хосте, и количество хостов должно быть меньше или равно количеству реплик. Для PER_HOST_V2 input_fn вызывается один раз для каждого хоста (если количество хостов меньше количества реплик) или реплики (если количество реплик меньше количества хостов). При конфигурации входной системы на ядро она вызывается один раз для каждого ядра. При глобальном размере пакета train_batch_size в конструкторе TPUEstimator размер пакета для каждого фрагмента составляет train_batch_size // #хостов в True или PER_HOST_V1 режиме. В режиме PER_HOST_V2 это train_batch_size // #ядер. В режиме BROADCAST input_fn вызывается только один раз на хосте 0, а тензоры транслируются на все остальные реплики. Размер пакета равен train_batch_size. При конфигурации входной системы на ядро размер пакета фрагмента также составляет train_batch_size // #ядер. Примечание: per_host_input_for_training==PER_SHARD_V1 поддерживает только режим.TRAIN.
tpu_job_name Имя задачи TPU. Как правило, это имя автоматически определяется в TPUEstimator, однако при использовании распространения ClusterSpec в более сложных конфигурациях кластера может потребоваться указать имя задачи в виде строки.
initial_infeed_sleep_secs Количество секунд, которое поток ввода должен ожидать перед добавлением первого пакета. Это помогает избежать таймаутов для моделей, которые требуют длительного времени компиляции.
input_partition_dims Вложенный список для описания размерностей разбиения для всех тензоров из input_fn(). Структура input_partition_dims должна соответствовать структуре features и labels из input_fn(). Общее количество разделений должно соответствовать num_cores_per_replica. Например, если input_fn() возвращает два тензора: изображения с формой [N, H, W, C] и метки [N]. input_partition_dims = [[1, 2, 2, 1], None] разделит изображения на 4 части и передаст их в 4 ядра TPU. Тензор меток напрямую транслируется во все ядра TPU, так как размерность разбиения равна None. Текущие ограничения: эта функция поддерживается только с режимом ввода PER_HOST_V2.
eval_training_input_configuration Если SLICED, input_fn вызывается только один раз на хосте 0, а тензоры транслируются на все остальные реплики. В отличие от per_host_input_for_training=BROADCAST, каждая реплика получит только часть данных, а не полную копию. Если PER_HOST_V1, поведение определяется per_host_input_for_training.
experimental_host_call_every_n_steps Внутри цикла обучения этот аргумент задает частоту выполнения вызовов хоста во время обучения. Вызовы хоста будут оцениваться каждые n шагов внутри цикла обучения, где n является значением этого аргумента.
Возбуждает
ValueError Если num_cores_per_replica не равно 1, 2, 4, 8, ..., 128.
Атрибуты
iterations_per_loop
num_shards
num_cores_per_replica
per_host_input_for_training
tpu_job_name
initial_infeed_sleep_secs
input_partition_dims
eval_training_input_configuration
experimental_host_call_every_n_steps

© 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/r2.3/api_docs/python/tf/compat/v1/estimator/tpu/TPUConfig

Spec-Zone.ru

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