Spec-Zone.ru › TensorFlow 1.15

tf.contrib.learn.Experiment

Experiment — класс, содержащий всю необходимую информацию для обучения модели.

tf.contrib.learn.Experiment(
    estimator, train_input_fn, eval_input_fn, eval_metrics=None, train_steps=None,
    eval_steps=100, train_monitors=None, eval_hooks=None, local_eval_frequency=None,
    eval_delay_secs=120, continuous_eval_throttle_secs=60, min_eval_frequency=None,
    delay_workers_by_global_step=False, export_strategies=None,
    train_steps_per_iteration=None, checkpoint_and_export=False,
    saving_listeners=None, check_interval_secs=5
)

ЭТОТ КЛАСС УСТАРЕЛ. См. contrib/learn/README.md для общих инструкций по миграции.

После создания эксперимента (путем передачи оценщика и входных данных для обучения и оценки), экземпляр Experiment знает, как вызывать циклы обучения и оценки разумным способом для распределенного обучения.

Аргументы
estimator Объект, реализующий интерфейс Estimator, который может быть комбинацией tf.contrib.learn.Trainable и tf.contrib.learn.Evaluable (устарело), или tf.estimator.Estimator.
train_input_fn функция, возвращающая признаки и метки для обучения.
eval_input_fn функция, возвращающая признаки и метки для оценки. Если eval_steps равно None, это должно быть настроено только для генерации конечного числа батчей (обычно, 1 эпоха данных оценки).
eval_metrics dict строк, функция метрики. Если None, используется набор по умолчанию. Это должно быть None , если estimator является tf.estimator.Estimator. Если метрики указаны, они будут добавлены к набору по умолчанию.
train_steps Выполнить столько шагов обучения. None, значение по умолчанию, означает обучение до бесконечности.
eval_steps evaluate продолжается до тех пор, пока входные данные не иссякнут (или не произойдет другое исключение), или для eval_steps шагов, если указано.
train_monitors Список мониторов, передаваемых в функцию Estimator's fit.
eval_hooks Список SessionRunHook хуков, передаваемых в функцию Estimator's evaluate.
local_eval_frequency (применимо только к local_run) Частота выполнения оценки в шагах. Если None, выполняет оценку только в конце обучения.
eval_delay_secs Начать оценку после ожидания столько секунд.
continuous_eval_throttle_secs Не переоценивать, если последняя оценка не начиналась не менее чем через столько секунд для continuous_eval().
min_eval_frequency (применимо только к train_and_evaluate). минимальное количество шагов между оценками. Конечно, оценка не происходит, если нет нового снимка, следовательно, это минимум. Если 0, оценка произойдёт только после обучения. Если None, по умолчанию 1. Для предотвращения слишком частой проверки новых контрольных точек, интервал дополнительно ограничен значением не менее check_interval_secs между проверками.
delay_workers_by_global_step если True задерживает рабочие процессы обучения на основе глобального шага вместо времени.
export_strategies Итерируемый список ExportStrategy , или один, или None.
train_steps_per_iteration (применимо только к continuous_train_and_eval). Выполнить столько (целое) шагов обучения для каждой итерации обучения-оценки. При небольшом значении модель будет оцениваться чаще, и будет больше сохранённых контрольных точек. Если None, будет использоваться значение по умолчанию (которое меньше train_steps, если предоставлено).
checkpoint_and_export (применимо только к train_and_evaluate). Если True, выполняет промежуточные контрольные точки модели и экспорт в процессе обучения, а не только один раз по завершении обучения модели. Этот параметр является экспериментальным и может быть изменён или удалён в будущем. Установка этого параметра приводит к следующему: значение min_eval_frequency будет проигнорировано, а количество шагов между оценками и экспортом вместо этого будет определяться параметрами конфигурации оценщика save_checkpoints_secs и save_checkpoints_steps. Кроме того, этот параметр приводит к созданию CheckpointSaverHook по умолчанию вместо ValidationMonitor, поэтому предоставленный train_monitors необходимо соответствующим образом скорректировать.
saving_listeners список объектов CheckpointSaverListener. Используется tf.estimator.Estimator для обратных вызовов, которые выполняются непосредственно перед или после сохранения контрольных точек.
check_interval_secs Минимальное время между последующими проверками на наличие новой контрольной точки. Это в основном относится, если и min_eval_frequency, и время, затрачиваемое на каждый шаг обучения, невелики.
Возникающие исключения
ValueError если estimator не реализует интерфейс Estimator, или если export_strategies имеет неправильный тип.
Атрибуты
estimator
eval_metrics
eval_steps
train_steps

Методы

continuous_eval

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

continuous_eval(
    delay_secs=None, throttle_delay_secs=None, evaluate_checkpoint_only_once=True,
    continuous_eval_predicate_fn=None, name='continuous'
)

continuous_eval_on_train_data

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

continuous_eval_on_train_data(
    delay_secs=None, throttle_delay_secs=None, continuous_eval_predicate_fn=None,
    name='continuous_on_train_data'
)

continuous_train_and_eval

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

continuous_train_and_eval(
    continuous_eval_predicate_fn=None
)

Переключает обучение и оценку. (экспериментальный)

Предупреждение: ЭТА ФУНКЦИЯ ЯВЛЯЕТСЯ ЭКСПЕРИМЕНТАЛЬНОЙ. Она может быть изменена или удалена в любое время без предварительного уведомления.

Частота оценки контролируется train_steps_per_iteration (через конструктор). Модель будет сначала обучена для train_steps_per_iteration, а затем будет оцениваться по очереди.

Этот метод предназначен для использования на одной машине.

Это отличается от train_and_evaluate следующим образом:

  1. Процедура будет чередовать обучение и оценку. Модель будет обучена для определённого числа шагов (обычно меньше train_steps, если указано), а затем оцениваться. train_and_evaluate будет обучать модель для train_steps (без мелких итераций обучения).

  2. Из-за другого подхода, который этот график использует, это приводит к двум различиям в управлении ресурсами. Во-первых, ресурсы (например, память), используемые для обучения, будут освобождены перед оценкой (train_and_evaluate потребляет вдвое больше ресурсов). Во-вторых, будет сохранено больше контрольных точек, так как контрольная точка генерируется в конце каждой итерации обучения.

  3. Поскольку estimator.train начинается с нуля (новая диаграмма, новые состояния для входа и т.д.) на каждой итерации, рекомендуется, чтобы train_steps_per_iteration было больше. Также рекомендуется перемешивать ваши входные данные.

Аргументы
continuous_eval_predicate_fn Функция-предикат, определяющая, следует ли продолжать оценку после каждой итерации. У predicate_fn есть одна из следующих подписей:
  • (eval_results) -> boolean
  • (eval_results, checkpoint_path) -> boolean Где eval_results — это словарь метрических оценок, а checkpoint_path — путь к контрольной точке, содержащей параметры, на основе которых проводилась эта оценка. В начале оценки переданные eval_results и checkpoint_path будут равны None, поэтому ожидается, что функция-предикат обработает это должным образом. Когда predicate_fn не указан, непрерывная оценка будет выполняться в бесконечном цикле (если train_steps равно None). или выйдет, когда глобальный шаг достигнет train_steps.
Возвращаемое значение
Кортеж результата вызова evaluate к Estimator и результатов экспорта с использованием указанных ExportStrategy.
Возникающие исключения
ValueError если continuous_eval_predicate_fn не является ни None, ни вызываемой функцией.

evaluate

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

evaluate(
    delay_secs=None, name=None
)

Оценить на данных оценки.

Выполняет оценку на данных оценки и возвращает результат. Выполняется для self._eval_steps шагов, или если это None, затем выполняется до тех пор, пока входные данные не иссякнут или не произойдет другое исключение. Начать оценку после delay_secs секунд, или если это None, по умолчанию использовать self._eval_delay_secs секунд.

Аргументы
delay_secs Начать оценку после ожидания столько секунд. Если None, по умолчанию использовать self._eval_delays_secs.
name Присваивает имя оценке в случае, если для одного эксперимента выполняется несколько оценок.
Возвращаемое значение
Результат вызова evaluate к Estimator.

extend_train_hooks

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

extend_train_hooks(
    additional_hooks
)

Расширяет хуки обучения.

local_run

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

local_run()

УСТАРЕВШАЯ ФУНКЦИЯ

Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена после 23 октября 2016 года. Инструкции по обновлению: local_run будет переименована в train_and_evaluate, и по умолчанию оценка будет запускаться каждый раз, когда появляется новый контрольный момент.

reset_export_strategies

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

reset_export_strategies(
    new_export_strategies=None
)

Сбрасывает стратегии экспорта с помощью new_export_strategies.

Аргументы
new_export_strategies Новый список ExportStrategy или один элемент или None.
Возвращаемое значение
Старые стратегии экспорта.

run_std_server

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

run_std_server()

Запускает сервер TensorFlow и присоединяется к потоку обслуживания.

Обычно используется для серверов параметров.

Исключения
ValueError если в конфигурации оценщика недостаточно информации для создания сервера.

test

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

test()

Тестирует обучение, оценку и экспорт оценщика за один шаг.

Возвращаемое значение
Результат вызова evaluate к Estimator.

train

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

train(
    delay_secs=None
)

Обучает оценщик с использованием данных обучения.

Обучает оценщик в течение self._train_steps шагов после ожидания delay_secs секунд. Если self._train_steps равно None, обучение продолжается бесконечно.

Аргументы
delay_secs Начать обучение после этого количества секунд.
Возвращаемое значение
Обученный оценщик.

train_and_evaluate

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

train_and_evaluate()

Переплетает обучение и оценку.

Частота оценки регулируется аргументом конструктора min_eval_frequency. Когда этот параметр равен 0, оценка происходит только после завершения обучения. Обратите внимание, что оценка не может происходить чаще, чем создаются контрольные моменты. Если новые снимки недоступны, когда должна произойти оценка, то оценка не происходит в течение следующих min_eval_frequency шагов (предполагается, что контрольный момент доступен в этот момент). Таким образом, настройка min_eval_frequency на 1 означает, что модель будет оцениваться каждый раз, когда появляется новый контрольный момент.

Это особенно полезно для задачи «Мастер» в облаке, которая отвечает за создание контрольных моментов, оценку этих контрольных моментов и запись сводок. Участие в обучении в качестве надзирателя позволяет такой задаче выполнять первые и последние пункты, а выполнение оценки позволяет выполнить второй.

Возвращаемое значение
Результат вызова evaluate к Estimator а также результаты экспорта, используя указанные ExportStrategy.

© 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/contrib/learn/Experiment

Spec-Zone.ru

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