Метод get_config класса Model
Метод get_config класса Model возвращает словарь с конфигурацией модели.
В этом словаре содержатся имя модели, название и параметры слоев,
а также настройки входов и выходов. Полученный словарь можно
сериализовать в JSON или YAML и позже восстановить модель
с помощью метода from_config.
Метод не принимает параметров и возвращает словарь Python
с ключами name, layers и input_layers,
output_layers. Для каждого слоя сохраняется его класс,
имя и результат вызова его собственного метода get_config.
Синтаксис
model.get_config()
Пример
Давайте создадим простую модель и получим ее конфигурацию:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(2, input_shape=(3,)),
tf.keras.layers.Dense(1)
], name='my_model')
config = model.get_config()
print(config)
Результат выполнения кода:
{'name': 'my_model', 'layers': [{'class_name': 'Dense', 'config': {'name': 'dense', 'trainable': True, 'dtype': 'float32', 'units': 2, 'activation': 'linear', 'use_bias': True, 'kernel_initializer': {'class_name': 'GlorotUniform', 'config': {'seed': None}}, 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'kernel_regularizer': None, 'bias_regularizer': None, 'activity_regularizer': None, 'kernel_constraint': None, 'bias_constraint': None}}, {'class_name': 'Dense', 'config': {'name': 'dense_1', 'trainable': True, 'dtype': 'float32', 'units': 1, 'activation': 'linear', 'use_bias': True, 'kernel_initializer': {'class_name': 'GlorotUniform', 'config': {'seed': None}}, 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'kernel_regularizer': None, 'bias_regularizer': None, 'activity_regularizer': None, 'kernel_constraint': None, 'bias_constraint': None}}]}
Пример
Давайте восстановим модель из полученной конфигурации
с помощью метода from_config и проверим ее работу:
Результат выполнения кода:
"my_model"
2
Пример
Давайте сохраним конфигурацию модели в JSON-строку и выведем ее длину:
import tensorflow as tf
import json
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, input_shape=(2,)),
tf.keras.layers.Dense(1)
], name='json_model')
config = model.get_config()
json_str = json.dumps(config)
print(config['name'])
print(len(json_str) > 0)
Результат выполнения кода:
"json_model"
True
Смотрите также
-
метод
from_config,
который создает модель из словаря конфигурации -
метод
to_json,
который сериализует модель в JSON-строку -
метод
to_yaml,
который сериализует модель в YAML-строку -
класс
Model,
который представляет модель TensorFlow