Spec-Zone.ru › TensorFlow

tf.keras.utils.deserialize_keras_object

Восстановление объекта путём десериализации словаря настроек.

tf.keras.utils.deserialize_keras_object(
    config, custom_objects=None, safe_mode=True, **kwargs
)

Словарь настроек — это словарь Python, состоящий из пары ключ-значение и представляющий объект Keras, например, Optimizer, Layer, Metrics и т. д. Библиотека сохранения и загрузки использует следующие ключи для записи информации об объекте Keras:

  • class_name: Строка. Это имя класса, точно так, как оно определено в исходном коде, например, "LossesContainer".
  • config: Словарь. Библиотечные или пользовательские пары ключ-значение, хранящие конфигурацию объекта, полученные с помощью object.get_config().
  • module: Строка. Путь к модулю Python. Встроенные классы Keras ожидают наличия префикса keras.
  • registered_name: Строка. Ключ, под которым класс зарегистрирован через API keras.saving.register_keras_serializable(package, name). Ключ имеет формат '{пакет}>{имя}', где package и name — аргументы, переданные в register_keras_serializable(). Если name не указан, используется имя класса. Если registered_name успешно разрешит класс (который был зарегистрирован), значения class_name и config в словаре не будут использоваться. registered_name используется только для классов, не являющихся встроенными.

Например, следующий словарь представляет встроенный оптимизатор Adam с соответствующей конфигурацией:

dict_structure = {
    "class_name": "Adam",
    "config": {
        "amsgrad": false,
        "beta_1": 0.8999999761581421,
        "beta_2": 0.9990000128746033,
        "decay": 0.0,
        "epsilon": 1e-07,
        "learning_rate": 0.0010000000474974513,
        "name": "Adam"
    },
    "module": "keras.optimizers",
    "registered_name": None
}
# Returns an `Adam` instance identical to the original one.
deserialize_keras_object(dict_structure)

Если у класса нет экспортированного пространства имён Keras, библиотека отслеживает его по module и class_name. Например:

dict_structure = {
  "class_name": "MetricsList",
  "config": {
      ...
  },
  "module": "keras.trainers.compile_utils",
  "registered_name": "MetricsList"
}

# Returns a `MetricsList` instance identical to the original one.
deserialize_keras_object(dict_structure)

И следующий словарь представляет пользовательскую функцию потерь MeanSquaredError:

@keras.saving.register_keras_serializable(package='my_package')
class ModifiedMeanSquaredError(keras.losses.MeanSquaredError):
  ...

dict_structure = {
    "class_name": "ModifiedMeanSquaredError",
    "config": {
        "fn": "mean_squared_error",
        "name": "mean_squared_error",
        "reduction": "auto"
    },
    "registered_name": "my_package>ModifiedMeanSquaredError"
}
# Returns the `ModifiedMeanSquaredError` object
deserialize_keras_object(dict_structure)
Аргументы
config Словарь Python, описывающий объект.
custom_objects Словарь Python, содержащий соответствие между именами пользовательских объектов и соответствующими классами или функциями.
safe_mode Булево значение, запрещающее небезопасную lambda десериализацию. Когда safe_mode=False, загрузка объекта может потенциально вызвать выполнение произвольного кода. Этот аргумент применим только к формату модели Keras v3. По умолчанию True.
Возвращаемое значение
Объект, описанный словарем config.

© 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/keras/utils/deserialize_keras_object

Spec-Zone.ru

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