Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.estimator.tpu.TPUEstimatorSpec

Операции и объекты, возвращаемые из model_fn и переданные в TPUEstimator.

tf.compat.v1.estimator.tpu.TPUEstimatorSpec(
    mode,
    predictions=None,
    loss=None,
    train_op=None,
    eval_metrics=None,
    export_outputs=None,
    scaffold_fn=None,
    host_call=None,
    training_hooks=None,
    evaluation_hooks=None,
    prediction_hooks=None
)

Переход к TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение для получения подробной информации о миграции от этого API к эквиваленту в TensorFlow v2. См. руководство по миграции TensorFlow v1 в TensorFlow v2 для инструкций по миграции остальной части вашего кода.

TPU Estimator управляет собственной графой и сессией TensorFlow, поэтому он несовместим с поведением TF2. Мы рекомендуем перейти к новому tf.distribute.TPUStrategy. Подробности см. в руководстве по TPU.

Описание

См. EstimatorSpec для mode, predictions, loss, train_op, и export_outputs.

Для оценки eval_metrics является кортежем metric_fn и tensors, где metric_fn выполняется на процессоре для генерации метрик, а tensors представляет собой Tensor , переданные с системы TPU на хост процессора и переданные в metric_fn. Более точно, оценка TPU ожидает немного другой сигнатуры от tf.estimator.Estimator. В то время как EstimatorSpec.eval_metric_ops ожидает словарь, TPUEstimatorSpec.eval_metrics является кортежем metric_fn и tensors. tensors может быть списком Tensor или словарем имён и Tensor. tensors обычно определяет логиты модели, которые передаются обратно с системы TPU на хост процессора. Все тензоры должны быть в формате batch-major, т.е. размер пакета — это первый размер. После того, как все тензоры станут доступны на хосте процессора со всех фрагментов, они конкатенируются (на процессоре) и передаются в качестве позиционных аргументов в metric_fn , если tensors является списком, или в виде ключевых аргументов, если tensors является словарем. metric_fn принимает tensors и возвращает словарь, где ключ — это строка имени метрики, а значение — результат вызова функции метрики, а именно кортеж (metric_tensor, update_op). См. TPUEstimator для примера MNIST, как указать eval_metrics.

scaffold_fn — это функция, выполняющаяся на процессоре для генерации Scaffold. Эта функция не должна захватывать какие-либо тензоры в model_fn.

host_call — это кортеж function и списка или словаря tensors для передачи этой функции и возвращает список тензоров. host_call в настоящее время работает для train() и evaluate(). Возвращаемые функцией тензоры выполняются на процессоре на каждом шаге, поэтому при передаче тензоров с TPU на процессор возникает накладные расходы. Чтобы уменьшить эти расходы, уменьшите размер тензоров. tensors конкатенируются по главному (пакетному) измерению и поэтому должны иметь ранг >= 1. host_call полезен для записи сводок с помощью tf.contrib.summary.create_file_writer.

Атрибуты
mode Псевдоним namedtuple для поля с номером 0
predictions Псевдоним namedtuple для поля с номером 1
loss Псевдоним namedtuple для поля с номером 2
train_op Псевдоним namedtuple для поля с номером 3
eval_metrics Псевдоним namedtuple для поля с номером 4
export_outputs Псевдоним namedtuple для поля с номером 5
scaffold_fn Псевдоним namedtuple для поля с номером 6
host_call Псевдоним namedtuple для поля с номером 7
training_hooks Псевдоним namedtuple для поля с номером 8
evaluation_hooks Псевдоним namedtuple для поля с номером 9
prediction_hooks Псевдоним namedtuple для поля с номером 10

Методы

as_estimator_spec

Просмотреть исходный код

as_estimator_spec()

Создаёт эквивалентный EstimatorSpec, используемый для обучения/валидации на процессоре.

© 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/compat/v1/estimator/tpu/TPUEstimatorSpec

Spec-Zone.ru

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