Spec-Zone.ru › TensorFlow

tf.saved_model.load

Загружает SavedModel из export_dir.

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

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

Подробнее см. в руководстве по миграции.

tf.compat.v1.saved_model.load_v2

tf.saved_model.load(
    export_dir, tags=None, options=None
)

Используется в блокнотах

Используется в руководстве Используется в учебных материалах
  • Использование формата SavedModel
  • Типы расширений
  • Импорт модели JAX с помощью JAX2TF
  • Перенос рабочего процесса SavedModel
  • Разреженные тензоры
  • Сохранение и загрузка модели с использованием стратегии распределения
  • Загрузка текста
  • Распознавание звуков: распознавание ключевых слов
  • Перенос обучения с YAMNet для классификации окружающих звуков
  • Распределённое обучение с DTensors

Подписи, связанные с SavedModel, доступны в виде функций:

imported = tf.saved_model.load(path)
f = imported.signatures["serving_default"]
print(f(x=tf.constant([[1.]])))

Объекты, экспортированные с помощью tf.saved_model.save, также имеют отслеживаемые объекты и функции, назначенные атрибутам:

exported = tf.train.Checkpoint(v=tf.Variable(3.))
exported.f = tf.function(
    lambda x: exported.v * x,
    input_signature=[tf.TensorSpec(shape=None, dtype=tf.float32)])
tf.saved_model.save(exported, path)
imported = tf.saved_model.load(path)
assert 3. == imported.v.numpy()
assert 6. == imported.f(x=tf.constant(2.)).numpy()

Загрузка моделей Keras

Модели Keras можно отслеживать, поэтому их можно сохранять в формате SavedModel. Объект, возвращаемый tf.saved_model.load, не является объектом Keras (то есть у него нет методов .fit, .predict и т. д.). Тем не менее доступны некоторые атрибуты и функции: .variables, .trainable_variables и .__call__.

model = tf.keras.Model(...)
tf.saved_model.save(model, path)
imported = tf.saved_model.load(path)
outputs = imported(inputs)

Используйте tf.keras.models.load_model, чтобы восстановить модель Keras.

Импорт моделей SavedModel из TensorFlow 1.x

В API SavedModels версии 1.x используется плоский граф вместо объектов tf.function. Эти SavedModels загружаются со следующими атрибутами:

  • .signatures: словарь, сопоставляющий имена подписей с функциями.
  • .prune(feeds, fetches): метод, позволяющий извлекать функции для новых подграфов. Это эквивалентно импорту SavedModel и указанию входных и выходных данных в Session из TensorFlow 1.x.

    imported = tf.saved_model.load(path_to_v1_saved_model)
    pruned = imported.prune("x:0", "out:0")
    pruned(tf.ones([]))
    

    Подробности см. в tf.compat.v1.wrap_function.

  • .variables: список импортированных переменных.

  • .graph: весь импортированный граф.

  • .restore(save_path): функция, восстанавливающая переменные из контрольной точки, сохранённой из tf.compat.v1.Saver.

Асинхронное использование SavedModels

При асинхронном использовании SavedModels (когда создатель находится в отдельном процессе) каталог SavedModel появляется до завершения записи всех файлов, и tf.saved_model.load завершится с ошибкой, если указать неполный SavedModel. Вместо проверки наличия каталога проверяйте наличие файла "saved_model_dir/saved_model.pb". Этот файл записывается атомарно как последняя файловая операция tf.saved_model.save.

Аргументы
export_dir Каталог SavedModel, из которого выполняется загрузка.
tags Тег или последовательность тегов, идентифицирующих загружаемый MetaGraph. Необязательный параметр, если SavedModel содержит один MetaGraph, как в случае моделей, экспортированных с помощью tf.saved_model.save.
options Объект tf.saved_model.LoadOptions, задающий параметры загрузки.
Возвращает
Отслеживаемый объект с атрибутом signatures, содержащим отображение ключей подписей на функции. Если SavedModel был экспортирован с помощью tf.saved_model.save, он также содержит отслеживаемые объекты, функции и отладочную информацию, сохранённые вместе с ним.
Вызывает исключение
ValueError Если tags не соответствует MetaGraph в SavedModel.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/saved_model/load

Spec-Zone.ru

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