Это количество шагов обучения, выполняемых в системе 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 // #ядер. В режиме BROADCASTinput_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
Количество секунд, которое поток infeed должен ожидать перед добавлением первого пакета в очередь. Это помогает избежать временных ограничений для моделей, требующих длительного времени компиляции.
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 является значением этого аргумента.
experimental_allow_per_host_v2_parallel_get_next
При включении позволяет выполнять одновременное получение данных из набора данных при использовании ввода PER_HOST_V2. Может привести к повышению производительности для моделей с небольшим временем шага, но в качестве следствия TPUEstimator может не гарантированно распределять пакеты по различным ядрам, а не обеспечивать поведение круговой очереди.
experimental_feed_hook
Это класс, который пользователь может предоставить оценщику TPU для переопределения реализации по умолчанию TPUInfeedOutfeedSessionHook и добавления настраиваемой реализации для обработки логики infeed outfeed. Если заданный класс None, оценщик TPU использует реализацию по умолчанию TPUInfeedOutfeedSessionHook в tpu_estimator.py. Если не None, оценщик TPU использует этот настраиваемый класс tpu ввода-вывода вместо переопределения значения по умолчанию.
Исключения
ValueError
Если num_cores_per_replica не равно 1, 2, 4, 8, ..., 128.