tf.contrib.timeseries.TimeSeriesRegressor
Оценщик для подгонки и оценки временной модели.
Наследуется от: Estimator
tf.contrib.timeseries.TimeSeriesRegressor(
model, state_manager=None, optimizer=None, model_dir=None, config=None,
head_type=ts_head_lib.TimeSeriesRegressionHead
)
| Аргументы | |
|---|---|
model | Временная модель для обертывания (наследующая от TimeSeriesModel). |
state_manager | Менеджер состояния для использования, или (по умолчанию) PassthroughStateManager, если не нужен. |
optimizer | Алгоритм оптимизации для использования во время обучения, наследующий от tf.train.Optimizer. По умолчанию — Adam со значением шага 0.02. |
model_dir | См. Estimator. |
config | См. Estimator. |
head_type | Тип головки для использования в модели (наследующей от TimeSeriesRegressionHead). |
| Атрибуты | |
|---|---|
config | |
model_dir | |
model_fn | Возвращает model_fn, привязанный к self.params. |
params | |
Методы
build_one_shot_parsing_serving_input_receiver_fn
build_one_shot_parsing_serving_input_receiver_fn(
filtering_length, prediction_length, default_batch_size=None,
values_input_dtype=None, truncate_values=False
)
Построение input_receiver_fn для export_savedmodel, принимающего tf.Examples.
Совместим только с OneShotPredictionHead (см. head).
| Аргументы | |
|---|---|
filtering_length | Количество временных шагов, используемых в качестве входных данных для модели, для которых предоставляются значения. Если предоставлено более filtering_length значений (через truncate_values), используются только первые filtering_length значения. |
prediction_length | Количество временных шагов, запрашиваемых в качестве прогнозов от модели. Для этих шагов должны быть предоставлены временные метки и все экзогенные признаки. |
default_batch_size | Если указано, должно быть скалярное целое число. Устанавливает размер пакета в статической информации о форме всех тензоров признаков, что означает, что экспортируемая модель будет принимать только этот размер пакета. Если None (по умолчанию), статическая информация о размерах пакетов опускается. |
values_input_dtype | Необязательное указание типа данных для значений в протоколах tf.Example (либо float32, либо int64, поскольку это числовые типы, поддерживаемые tf.Example). После разбора значения преобразуются в тип данных модели (float32 или float64). |
truncate_values | Если True, ожидаются filtering_length + prediction_length значения, но используются только первые filtering_length. Если False (по умолчанию), должны быть предоставлены ровно filtering_length значений. |
| Возвращаемые значения | |
|---|---|
| input_receiver_fn, который можно передать в export_savedmodel оценочного объекта. Ожидает признаки, содержащиеся в векторе сериализованных tf.Examples с формой размер пакета, каждый tf.Example содержит признаки со следующими формами: временные метки: [длина фильтрации + длина прогнозирования] целые значения: [длина фильтрации, число признаков] числа с плавающей точкой. Если |
build_raw_serving_input_receiver_fn
build_raw_serving_input_receiver_fn(
default_batch_size=None, default_series_length=None
)
Построение input_receiver_fn для export_savedmodel, принимающего массивы.
Автоматически создаёт заглушки для экзогенных FeatureColumn значений, передаваемых модели.
| Аргументы | |
|---|---|
default_batch_size | Если указано, должно быть скалярное целое число. Устанавливает размер пакета в статической информации о форме всех тензоров признаков, что означает, что экспортируемая модель будет принимать только этот размер пакета. Если None (по умолчанию), статическая информация о размерах пакетов опускается. |
default_series_length | Если указано, должно быть скалярное целое число. Устанавливает длину ряда в статической информации о форме всех тензоров признаков, что означает, что экспортируемая модель будет принимать только эту длину ряда. Если None (по умолчанию), статическая информация о длине ряда опускается. |
| Возвращаемые значения | |
|---|---|
| input_receiver_fn, который можно передать в export_savedmodel оценочного объекта. |
eval_dir
eval_dir(
name=None
)
Показывает имя каталога, куда выгружаются метрики оценки.
| Аргументы | |
|---|---|
name | Имя оценки, если пользователю требуется выполнить несколько оценок на различных наборах данных, например, на обучающих и тестовых данных. Метрики для различных оценок сохраняются в отдельных папках и отображаются отдельно в tensorboard. |
| Возвращаемые значения | |
|---|---|
| Строка, представляющая путь к каталогу, содержащему метрики оценки. |
evaluate
evaluate(
input_fn, steps=None, hooks=None, checkpoint_path=None, name=None
)
Оценивает модель, используя данные оценки input_fn.
На каждом шаге вызывает input_fn, которая возвращает одну партию данных. Оценивает, пока:
-
stepsпартий обработаны, или -
input_fnвозникает исключение конца входных данных (tf.errors.OutOfRangeErrorилиStopIteration).
| Аргументы | |
|---|---|
input_fn | Функция, строящая входные данные для оценки. См. Предопределённые оценочные модули для получения дополнительной информации. Функция должна создавать и возвращать один из следующих объектов: * Объект tf.data.Dataset: Выходы объекта Dataset должны быть кортежем (features, labels) с теми же ограничениями, что и ниже. * Кортеж (features, labels): где features является tf.Tensor или словарем имен признаков (строки) к Tensor, а labels — Tensor или словарь имен меток (строки) к Tensor. И features и labels потребляются model_fn. Они должны соответствовать ожиданиям model_fn от входных данных. |
steps | Количество шагов для оценки модели. Если None, оценивается до тех пор, пока input_fn не сгенерирует исключение конца входных данных. |
hooks | Список экземпляров подклассов tf.train.SessionRunHook. Используется для обратных вызовов внутри вызова оценки. |
checkpoint_path | Путь к определённому контрольному пункту для оценки. Если None, используется последний контрольный пункт в model_dir. Если в model_dir нет контрольных пунктов, оценка выполняется с вновь инициализированными Variables вместо восстановленных из контрольного пункта. |
name | Имя оценки, если пользователю требуется выполнить несколько оценок на различных наборах данных, например, на обучающих и тестовых данных. Метрики для различных оценок сохраняются в отдельных папках и отображаются отдельно в tensorboard. |
| Возвращаемые значения | |
|---|---|
Словарь, содержащий метрики оценки, указанные в model_fn с ключами по имени, а также запись global_step, содержащую значение глобального шага, для которого была выполнена данная оценка. Для готовых оценочных модулей словарь содержит loss (среднюю потерю на мини-пакет) и average_loss (среднюю потерю на образец). Готовые классификаторы также возвращают accuracy. Готовые регрессоры также возвращают label/mean и prediction/mean. |
| Исключения | |
|---|---|
ValueError | Если steps <= 0. |
experimental_export_all_saved_models
experimental_export_all_saved_models(
export_dir_base, input_receiver_fn_map, assets_extra=None, as_text=False,
checkpoint_path=None
)
Экспортирует SavedModel с tf.MetaGraphDefs для каждого запрошенного режима.
Для каждого режима, переданного через input_receiver_fn_map, этот метод создает новую графу, вызывая input_receiver_fn для получения признаков и меток Tensor. Затем этот метод вызывает Estimator's model_fn в переданном режиме для генерации графы модели на основе этих признаков и меток и восстанавливает заданный контрольный пункт (или, в случае отсутствия, последний контрольный пункт) в графу. Только один из режимов используется для сохранения переменных в SavedModel (порядок предпочтения: tf.estimator.ModeKeys.TRAIN, tf.estimator.ModeKeys.EVAL, затем tf.estimator.ModeKeys.PREDICT), таким образом, до трех tf.MetaGraphDefs сохраняются с набором переменных в одном каталоге SavedModel.
Для переменных и tf.MetaGraphDefs, каталог экспорта со временем ниже export_dir_base, и записывает SavedModel в него, содержащий tf.MetaGraphDef для данного режима и связанных подписей.
Для предсказания экспортированный MetaGraphDef предоставит по одному SignatureDef для каждого элемента словаря export_outputs, возвращенного функцией model_fn, используя те же ключи. Один из этих ключей всегда tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY, указывая, какая подпись будет использована при запросе обслуживания, если она не указана. Для каждой подписи выходные данные предоставляются соответствующими tf.estimator.export.ExportOutput, а входные данные всегда являются приемниками входных данных, предоставляемыми serving_input_receiver_fn.
Для обучения и оценки train_op хранится в дополнительной коллекции, а потеря, метрики и прогнозы включаются в SignatureDef для данного режима.
Дополнительные ресурсы могут быть записаны в SavedModel через аргумент assets_extra. Это должен быть словарь, где каждый ключ указывает путь назначения (включая имя файла) относительно каталога assets.extra. Соответствующее значение указывает полный путь исходного файла, который будет скопирован. Например, простой случай копирования одного файла без переименования задается как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.
| Аргументы | |
|---|---|
export_dir_base | Строка, содержащая каталог, в котором будут созданы подкаталоги со временем, содержащие экспортированные SavedModels. |
input_receiver_fn_map | Словарь соответствий tf.estimator.ModeKeys к input_receiver_fn отображениям, где input_receiver_fn - это функция, которая не принимает аргументов и возвращает соответствующее подклассу InputReceiver. |
assets_extra | Словарь, определяющий, как заполнить каталог assets.extra в экспортированном SavedModel, или None если дополнительные ресурсы не требуются. |
as_text | Нужно ли записывать протокол SavedModel в текстовом формате. |
checkpoint_path | Путь к контрольному пункту для экспорта. Если None (по умолчанию), выбирается последний найденный контрольный пункт в каталоге модели. |
| Возвращаемое значение | |
|---|---|
| Строка пути к экспортированному каталогу. |
| Исключения | |
|---|---|
ValueError | если какой-либо input_receiver_fn None, отсутствуют export_outputs или не найден контрольный пункт. |
export_saved_model
export_saved_model(
export_dir_base, serving_input_receiver_fn, assets_extra=None, as_text=False,
checkpoint_path=None, experimental_mode=ModeKeys.PREDICT
)
Экспортирует графу вывода в SavedModel в указанный каталог.
Для подробного руководства см. Использование SavedModel с оценщиками.
Этот метод создает новую графу, сначала вызывая serving_input_receiver_fn для получения признаков Tensor, а затем вызывая Estimator's model_fn для генерации графы модели на основе этих признаков. Он восстанавливает заданный контрольный пункт (или, при его отсутствии, последний контрольный пункт) в эту графу в новой сессии. Наконец, он создает каталог экспорта со временем ниже указанного export_dir_base, и записывает в него SavedModel с одной сохраненной из этой сессии tf.MetaGraphDef.
Экспортированный MetaGraphDef предоставит по одному SignatureDef для каждого элемента словаря export_outputs возвращенного model_fn, используя те же ключи. Один из этих ключей всегда tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY, указывая, какая подпись будет использована при запросе обслуживания, если она не указана. Для каждой подписи выходные данные предоставляются соответствующими tf.estimator.export.ExportOutput, а входные данные всегда являются приемниками входных данных, предоставляемыми serving_input_receiver_fn.
Дополнительные ресурсы могут быть записаны в SavedModel через аргумент assets_extra. Это должен быть словарь, где каждый ключ указывает путь назначения (включая имя файла) относительно каталога assets.extra. Соответствующее значение указывает полный путь исходного файла, который будет скопирован. Например, простой случай копирования одного файла без переименования задается как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.
Параметр experimental_mode может быть использован для экспорта отдельной графы обучения/оценки/предсказания в виде SavedModel. См. experimental_export_all_saved_models для полного описания.
| Аргументы | |
|---|---|
export_dir_base | Строка, содержащая каталог, в котором будут созданы подкаталоги со временем, содержащие экспортированные SavedModels. |
serving_input_receiver_fn | Функция, которая не принимает аргументов и возвращает tf.estimator.export.ServingInputReceiver или tf.estimator.export.TensorServingInputReceiver. |
assets_extra | Словарь, определяющий, как заполнить каталог assets.extra в экспортированном SavedModel, или None если дополнительные ресурсы не требуются. |
as_text | Нужно ли записывать протокол SavedModel в текстовом формате. |
checkpoint_path | Путь к контрольному пункту для экспорта. Если None (по умолчанию), выбирается последний найденный контрольный пункт в каталоге модели. |
experimental_mode | Значение tf.estimator.ModeKeys, указывающее режим, который будет экспортирован. Обратите внимание, что эта функция экспериментальная. |
| Возвращаемое значение | |
|---|---|
| Строка пути к экспортированному каталогу. |
| Исключения | |
|---|---|
ValueError | если не указан serving_input_receiver_fn, отсутствуют export_outputs или не найден контрольный пункт. |
export_savedmodel
export_savedmodel(
export_dir_base, serving_input_receiver_fn, assets_extra=None, as_text=False,
checkpoint_path=None, strip_default_attrs=False
)
Экспортирует графу вывода в SavedModel в указанный каталог. (устаревший)
Для подробного руководства см. Использование SavedModel с оценщиками.
Этот метод создает новую графу, сначала вызывая serving_input_receiver_fn для получения признаков Tensor, а затем вызывая Estimator's model_fn для генерации графы модели на основе этих признаков. Он восстанавливает заданный контрольный пункт (или, при его отсутствии, последний контрольный пункт) в эту графу в новой сессии. Наконец, он создает каталог экспорта со временем ниже указанного export_dir_base, и записывает в него SavedModel с одной сохраненной из этой сессии tf.MetaGraphDef.
Экспортированный MetaGraphDef предоставит по одному SignatureDef для каждого элемента словаря export_outputs возвращенного model_fn, используя те же ключи. Один из этих ключей всегда tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY, указывая, какая подпись будет использована при запросе обслуживания, если она не указана. Для каждой подписи выходные данные предоставляются соответствующими tf.estimator.export.ExportOutput, а входные данные всегда являются приемниками входных данных, предоставляемыми serving_input_receiver_fn.
Дополнительные ресурсы могут быть записаны в SavedModel через аргумент assets_extra. Это должен быть словарь, где каждый ключ указывает путь назначения (включая имя файла) относительно каталога assets.extra. Соответствующее значение указывает полный путь исходного файла, который будет скопирован. Например, простой случай копирования одного файла без переименования задается как {'my_asset_file.txt': '/path/to/my_asset_file.txt'}.
| Аргументы | |
|---|---|
export_dir_base | Строка, содержащая директорию для создания поддиректорий с отметками времени, содержащих экспортированные SavedModelы. |
serving_input_receiver_fn | Функция без аргументов, возвращающая tf.estimator.export.ServingInputReceiver или tf.estimator.export.TensorServingInputReceiver. |
assets_extra | Словарь, определяющий способ заполнения директории assets.extra в экспортированном SavedModel, или None если дополнительные активы не нужны. |
as_text | Флаг, указывающий, нужно ли записать SavedModel протокол в текстовом формате. |
checkpoint_path | Путь к контрольной точке для экспорта. Если None (по умолчанию), выбирается самая последняя контрольная точка, найденная в каталоге модели. |
strip_default_attrs | Булево значение. Если True, атрибуты с значениями по умолчанию будут удалены из NodeDefов. Подробное руководство см. в Удаление атрибутов со значениями по умолчанию. |
| Возвращаемое значение | |
|---|---|
| Путь к экспортированной директории. |
| Исключения | |
|---|---|
ValueError | если не указана serving_input_receiver_fn, не указаны export_outputs, или контрольная точка не найдена. |
get_variable_names
get_variable_names()
Возвращает список всех имён переменных в этой модели.
| Возвращаемое значение | |
|---|---|
| Список имён. |
| Исключения | |
|---|---|
ValueError | Если Estimator ещё не создал контрольную точку. |
get_variable_value
get_variable_value(
name
)
Возвращает значение переменной по имени.
| Аргументы | |
|---|---|
name | Строка или список строк, имя тензора. |
| Возвращаемое значение | |
|---|---|
| Массив NumPy - значение тензора. |
| Исключения | |
|---|---|
ValueError | Если Estimator ещё не создал контрольную точку. |
latest_checkpoint
latest_checkpoint()
Находит имя файла последней сохранённой контрольной точки в model_dir.
| Возвращаемое значение | |
|---|---|
Полный путь к последней контрольной точке или None если контрольная точка не найдена. |
predict
predict(
input_fn, predict_keys=None, hooks=None, checkpoint_path=None,
yield_single_examples=True
)
Возвращает предсказания для заданных признаков.
Обратите внимание, что интерлейсинг двух выходов predict не работает. См.: вопрос/20506
| Аргументы | |
|---|---|
input_fn | Функция, которая строит признаки. Предсказание продолжается, пока input_fn не сгенерирует исключение конца ввода (tf.errors.OutOfRangeError или StopIteration). См. Premade Estimators для получения дополнительной информации. Функция должна создать и вернуть одно из следующего:
|
predict_keys | список str, имя ключей для предсказания. Используется, если tf.estimator.EstimatorSpec.predictions является dict. Если predict_keys используется, остальная часть предсказаний будет отфильтрована из словаря. Если None, возвращаются все. |
hooks | Список экземпляров подклассов tf.train.SessionRunHook. Используется для обратных вызовов внутри вызова предсказания. |
checkpoint_path | Путь к конкретной контрольной точке для предсказания. Если None, используется последняя контрольная точка в model_dir Если в model_dir нет контрольных точек, предсказание выполняется с только что инициализированными Variables вместо восстановленных из контрольной точки. |
yield_single_examples | Если False, возвращает всю партию, как возвращает model_fn вместо разделения партии на отдельные элементы. Это полезно, если model_fn возвращает некоторые тензоры, первая размерность которых не равна размеру партии. |
data-text="Yields:" id="yields" tabindex="0">Возвращает:
Оцененные значения тензоров predictions.
| Исключения | |
|---|---|
ValueError | Если длина партии предсказаний не совпадает, и yield_single_examples является True. |
ValueError | Если существует конфликт между predict_keys и predictions. Например, если predict_keys не является None но tf.estimator.EstimatorSpec.predictions не является dict. |
train
train(
input_fn, hooks=None, steps=None, max_steps=None, saving_listeners=None
)
Обучает модель с использованием обучающих данных input_fn.
| Аргументы | |
|---|---|
input_fn | Функция, предоставляющая обучающие данные в виде мини-пакетов. См. Premade Estimators для получения дополнительной информации. Функция должна создать и вернуть одно из следующего:
|
hooks | Список экземпляров подклассов tf.train.SessionRunHook. Используется для обратных вызовов внутри цикла обучения. |
steps | Количество шагов для обучения модели. Если None, обучаться вечно или до тех пор, пока input_fn не сгенерирует ошибку tf.errors.OutOfRange или исключение StopIteration. steps работает поэтапно. Если вызвать дважды train(steps=10), обучение произойдёт в общей сложности за 20 шагов. Если OutOfRange или StopIteration произойдёт в середине, обучение прекратится до 20 шагов. Если вы не хотите поэтапного поведения, задайте max_steps вместо этого. Если задано, то max_steps должно быть None. |
max_steps | Общее количество шагов для обучения модели. Если None, обучаться вечно или до тех пор, пока input_fn не сгенерирует ошибку tf.errors.OutOfRange или исключение StopIteration. Если задано, то steps должно быть None. Если OutOfRange или StopIteration произойдёт в середине, обучение прекратится до max_steps шагов. Два вызова train(steps=100) означают 200 итераций обучения. С другой стороны, два вызова train(max_steps=100) означают, что второй вызов не выполнит итерацию, так как первый выполнил все 100 шагов. |
saving_listeners | список CheckpointSaverListener объектов. Используется для обратных вызовов, которые выполняются непосредственно перед или после сохранения контрольной точки. |
| Возвращаемое значение | |
|---|---|
self, для цепочки. |
| Возбуждает | |
|---|---|
ValueError | Если и steps и max_steps не None. |
ValueError | Если либо steps или max_steps <= 0. |
© 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/timeseries/TimeSeriesRegressor