Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.keras.estimator.model_to_estimator

Создаёт экземпляр Estimator из заданной модели Keras.

tf.compat.v1.keras.estimator.model_to_estimator(
    keras_model=None, keras_model_path=None, custom_objects=None, model_dir=None,
    config=None, checkpoint_format='saver', metric_names_map=None,
    export_outputs=None
)

Если вы используете инфраструктуру или другие инструменты, которые полагаются на Estimators, вы по-прежнему можете создать модель Keras и использовать model_to_estimator для преобразования модели Keras в Estimator для использования в системах нижнего уровня.

Пример использования см. в разделе: Создание estimators из моделей Keras.

Веса образцов:

Estimators, возвращаемые model_to_estimator, сконфигурированы так, чтобы они могли обрабатывать веса образцов (подобно keras_model.fit(x, y, sample_weights)).

Чтобы передать веса образцов при обучении или оценке Estimator, первый элемент, возвращаемый функцией ввода, должен быть словарем с ключами features и sample_weights. Пример ниже:

keras_model = tf.keras.Model(...)
keras_model.compile(...)

estimator = tf.keras.estimator.model_to_estimator(keras_model)

def input_fn():
  return dataset_ops.Dataset.from_tensors(
      ({'features': features, 'sample_weights': sample_weights},
       targets))

estimator.train(input_fn, steps=1)

Пример с настроенной сигнатурой экспорта:

inputs = {'a': tf.keras.Input(..., name='a'),
          'b': tf.keras.Input(..., name='b')}
outputs = {'c': tf.keras.layers.Dense(..., name='c')(inputs['a']),
           'd': tf.keras.layers.Dense(..., name='d')(inputs['b'])}
keras_model = tf.keras.Model(inputs, outputs)
keras_model.compile(...)
export_outputs = {'c': tf.estimator.export.RegressionOutput,
                  'd': tf.estimator.export.ClassificationOutput}

estimator = tf.keras.estimator.model_to_estimator(
    keras_model, export_outputs=export_outputs)

def input_fn():
  return dataset_ops.Dataset.from_tensors(
      ({'features': features, 'sample_weights': sample_weights},
       targets))

estimator.train(input_fn, steps=1)
Аргументы
keras_model Объект скомпилированной модели Keras. Этот аргумент взаимоисключающий с keras_model_path. model_fn Estimator использует структуру модели для клонирования модели. По умолчанию None.
keras_model_path Путь к сохранённой на диске скомпилированной модели Keras в формате HDF5, которую можно сгенерировать с помощью метода save() модели Keras. Этот аргумент взаимоисключающий с keras_model. По умолчанию None.
custom_objects Словарь для клонирования настроенных объектов. Это используется с классами, которые не входят в этот пакет pip. Например, если пользователь поддерживает класс relu6, который наследуется от tf.keras.layers.Layer, то передайте custom_objects={'relu6': relu6}. По умолчанию None.
model_dir Директория для сохранения параметров модели Estimator, графа, файлов сводки для TensorBoard и т. д. Если не задано, будет создана директория с именем tempfile.mkdtemp
config RunConfig для конфигурации Estimator. Позволяет настроить вещи в model_fn на основе конфигурации, такой как num_ps_replicas, или model_dir. По умолчанию None. Если оба config.model_dir и аргумент model_dir (выше) заданы, аргумент model_dir имеет приоритет.
checkpoint_format Устанавливает формат контрольной точки, сохранённой Estimator при обучении. Может быть saver или checkpoint, в зависимости от того, нужно ли сохранять контрольные точки из tf.train.Saver или tf.train.Checkpoint. Этот аргумент сейчас по умолчанию saver. Когда выйдет версия 2.0, значение по умолчанию будет checkpoint. Estimators используют контрольные точки с именами tf.train.Saver, тогда как модели Keras используют контрольные точки на основе объектов из tf.train.Checkpoint. В настоящее время сохранение контрольных точек на основе объектов из model_to_estimator поддерживается только моделями Functional и Sequential. По умолчанию «saver».
metric_names_map Необязательный словарь, сопоставляющий имена метрик выходных данных модели Keras с настроенными именами. Это можно использовать для переопределения значений по умолчанию имён метрик выходных данных модели Keras в случае модели с несколькими входами/выходами и предоставления настроенных имён для eval_metric_ops в Estimator. Имена метрик модели Keras можно получить с помощью model.metrics_names , исключая любые метрики потерь, такие как общие потери и потери выходных данных. Например, если ваша модель Keras имеет два выходных значения out_1 и out_2, с потерей mse и метрикой acc, то model.metrics_names будет ['loss', 'out_1_loss', 'out_2_loss', 'out_1_acc', 'out_2_acc']. Имена метрик модели, исключая метрики потерь, будут ['out_1_acc', 'out_2_acc'].
export_outputs Необязательный словарь. Его можно использовать для переопределения значений по умолчанию экспортов выходных данных модели Keras в случае модели с несколькими входами/выходами и предоставления настроенных имён для export_outputs в tf.estimator.EstimatorSpec. Значение по умолчанию — None, что эквивалентно {'serving_default': tf.estimator.export.PredictOutput}. Если не равно None, ключи должны совпадать с ключами model.output_names. Словарь {name: output}, где:
  • name: Произвольное имя для этого выхода.
  • output: класс ExportOutput, такой как ClassificationOutput, RegressionOutput, или PredictOutput. Модели с одним выходом должны указать только одну запись в этом словаре. Модели с несколькими выходами должны указать одну запись для каждого выхода, одна из которых должна быть названа с помощью tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY. Если запись не указана, будет создана карта по умолчанию PredictOutput, сопоставляющая с predictions.
Возвращаемое значение
Estimator, созданный из заданной модели Keras.
Исключения
ValueError Если не задан ни keras_model, ни keras_model_path.
ValueError Если заданы и keras_model, и keras_model_path.
ValueError Если keras_model_path является URI GCS.
ValueError Если модель keras не скомпилирована.
ValueError Если задан недопустимый checkpoint_format.

© 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/keras/estimator/model_to_estimator

Spec-Zone.ru

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