Метод get_config
Метод get_config класса Layer возвращает словарь Python, содержащий конфигурацию слоя.
Этот словарь включает в себя значения параметров, которые были переданы в конструктор слоя при его создании.
Метод не принимает аргументов и используется для сериализации слоя, например, при сохранении модели в формате Keras.
Если вы создаете собственный слой, рекомендуется переопределять этот метод, чтобы добавить в конфигурацию все пользовательские параметры.
Синтаксис
layer.get_config()
Пример
Давайте создадим простой слой Dense и получим его конфигурацию:
import tensorflow as tf
layer = tf.keras.layers.Dense(units=5, activation='relu')
config = layer.get_config()
print(config)
Результат выполнения кода:
{'name': 'dense', 'trainable': True, 'dtype': 'float32', 'units': 5, 'activation': 'relu', '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}
Пример
Давайте создадим собственный слой, переопределив метод get_config, и проверим его работу:
import tensorflow as tf
class MyLayer(tf.keras.layers.Layer):
def __init__(self, units=32, **kwargs):
super(MyLayer, self).__init__(**kwargs)
self.units = units
def build(self, input_shape):
self.w = self.add_weight(
shape=(input_shape[-1], self.units),
initializer='random_normal',
trainable=True,
)
self.b = self.add_weight(
shape=(self.units,),
initializer='zeros',
trainable=True,
)
def call(self, inputs):
return tf.matmul(inputs, self.w) + self.b
def get_config(self):
config = super(MyLayer, self).get_config()
config.update({'units': self.units})
return config
layer = MyLayer(units=3)
config = layer.get_config()
print(config)
Результат выполнения кода:
{'name': 'my_layer', 'trainable': True, 'dtype': 'float32', 'units': 3}
Смотрите также
-
класс
Layer,
который является базовым классом для всех слоев -
метод
from_config,
который создает слой из словаря конфигурации -
метод
build,
который создает веса слоя -
метод
call,
который определяет логику прямого прохода слоя