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
)
См. 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 | |
predictions | |
loss | |
train_op | |
eval_metrics | |
export_outputs | |
scaffold_fn | |
host_call | |
training_hooks | |
evaluation_hooks | |
prediction_hooks | |
Методы
as_estimator_spec
as_estimator_spec()
Создаёт эквивалентный EstimatorSpec используемый CPU для тренировки/оценки.
© 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.4/api_docs/python/tf/compat/v1/estimator/tpu/TPUEstimatorSpec