Spec-Zone.ru › TensorFlow 2.4

tf.estimator.experimental.InMemoryEvaluatorHook

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

Хук для выполнения оценки в процессе обучения без контрольной точки.

Наследуется от: SessionRunHook

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.estimator.experimental.InMemoryEvaluatorHook

tf.estimator.experimental.InMemoryEvaluatorHook(
    estimator, input_fn, steps=None, hooks=None, name=None, every_n_iter=100
)

Пример:

def train_input_fn():
  ...
  return train_dataset

def eval_input_fn():
  ...
  return eval_dataset

estimator = tf.estimator.DNNClassifier(...)

evaluator = tf.estimator.experimental.InMemoryEvaluatorHook(
    estimator, eval_input_fn)
estimator.train(train_input_fn, hooks=[evaluator])

Текущие ограничения этого подхода:

  • Он не поддерживает многоузловую распределенную модель.
  • Он не поддерживает сохраняемые объекты, отличные от переменных (например, поддержку деревьев бустинга).
  • Он не поддерживает пользовательскую логику сохранения (например, поддержку ExponentialMovingAverage).
Аргументы
estimator Экземпляр tf.estimator.Estimator для вызова evaluate.
input_fn Эквивалентно аргументу input_fn в estimator.evaluate. Функция, которая строит входные данные для оценки. См. Создание функций входных данных для получения дополнительной информации. Функция должна строить и возвращать один из следующих объектов:
  • Объект 'tf.data.Dataset': выходные данные объекта Dataset должны быть кортежем (features, labels) с теми же ограничениями, что и ниже.
  • Кортеж (features, labels): где features является Tensor или словарем имен признаков типа строка в Tensor и labels является Tensor или словарем имен меток типа строка в Tensor. И features и labels потребляются model_fn. Они должны соответствовать ожиданию model_fn от входных данных.
steps Эквивалентно аргументу steps в estimator.evaluate. Число шагов, на которых необходимо оценить модель. Если None, выполняется оценка до тех пор, пока input_fn не сгенерирует исключение конца входных данных.
hooks Эквивалентно аргументу hooks в estimator.evaluate. Список экземпляров подкласса SessionRunHook. Используется для обратных вызовов внутри вызова оценки.
name Эквивалентно аргументу name в estimator.evaluate. Имя оценки, если пользователю нужно выполнить несколько оценок на разных наборах данных, таких как на обучающих данных и тестовых данных. Метрики для разных оценок сохраняются в отдельных папках и отображаются отдельно в tensorboard.
every_n_iter int, запускает оценщик один раз каждые N итераций обучения.
Возможные исключения
ValueError если every_n_iter не является положительным или это не обучение на одном компьютере

Методы

after_create_session

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

after_create_session(
    session, coord
)

Выполняет первый запуск, который отображает метрики оценки перед обучением.

after_run

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

after_run(
    run_context, run_values
)

Выполняет оценщик.

before_run

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

before_run(
    run_context
)

Вызывается перед каждым вызовом run().

Вы можете вернуть из этого вызова объект SessionRunArgs, указывающий операции или тензоры для добавления к предстоящему вызову run(). Эти операции/тензоры будут выполнены вместе с операциями/тензорами, изначально переданными в исходный вызов run(). Аргументы run, которые вы возвращаете, также могут содержать данные для добавления к вызову run().

Аргумент run_context является объектом SessionRunContext, который предоставляет информацию о предстоящем вызове run(): изначально запрошенные операции/тензоры, сессия TensorFlow.

На этом этапе граф окончательно сформирован, и вы не можете добавить операции.

Аргументы
run_context Объект SessionRunContext.
Возвращаемое значение
None или объект SessionRunArgs.

begin

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

begin()

Построение графа оценки и операции восстановления.

end

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

end(
    session
)

Выполняет оценщик для окончательной модели.

© 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/estimator/experimental/InMemoryEvaluatorHook

Spec-Zone.ru

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