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}', где 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