tf.estimator.tpu.TPUEstimatorSpec
Операции и объекты, возвращаемые из model_fn и передаваемые в TPUEstimator.
tf.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 выполняется на процессоре CPU для генерации метрик, а tensors представляет Tensor , переданные с TPU на хост CPU и переданные в metric_fn. Более точно, TPU оценка ожидает несколько отличающуюся сигнатуру от tf.estimator.Estimator. В то время как EstimatorSpec.eval_metric_ops ожидает словарь, TPUEstimatorSpec.eval_metrics является кортежем из metric_fn и tensors. tensors может быть списком Tensor или словарем имен и Tensor. tensors обычно определяют логарифмы модели, которые передаются обратно с TPU на хост CPU. Все тензоры должны быть в формате «батчи-сначала», то есть размер пакета — это первый размер. После того как все тензоры станут доступны на хосте CPU со всех фрагментов, они конкатенируются (на CPU) и передаются в качестве позиционных аргументов в metric_fn, если tensors представляет собой список, или в качестве именованных аргументов, если tensors представляет собой словарь. metric_fn принимает tensors и возвращает словарь из имени метрики к результату вызова функции метрики, а именно кортежу (metric_tensor, update_op). См. TPUEstimator для примера MNIST, как указать eval_metrics.
scaffold_fn — это функция, выполняющаяся на процессоре CPU для генерации Scaffold. Эта функция не должна захватывать тензоры в model_fn.
host_call представляет собой кортеж из function и списка или словаря tensors для передачи в эту функцию и возвращает список тензоров. host_call в настоящее время работает для train() и evaluate(). Возвращаемые функцией тензоры выполняются на CPU на каждом шаге, поэтому существует издержки связи при отправке тензоров с TPU на CPU. Для уменьшения накладных расходов попробуйте уменьшить размер тензоров. 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/r1.15/api_docs/python/tf/estimator/tpu/TPUEstimatorSpec