Атрибут built класса Layer
Атрибут built класса Layer из модуля tf.keras.layers
возвращает булево значение, которое указывает, был ли слой
построен. Слой считается построенным после того, как он
получил информацию о форме входных данных и создал свои
веса. Атрибут не принимает параметров и доступен только
для чтения. До первого вызова слоя с реальными данными
атрибут равен False, после построения становится
True.
Синтаксис
layer.built
Пример
Давайте создадим слой Dense и проверим значение
атрибута built до вызова слоя:
import tensorflow as tf
layer = tf.keras.layers.Dense(3)
print(layer.built)
Результат выполнения кода:
False
Пример
Давайте вызовем слой на тензоре и снова проверим атрибут
built:
import tensorflow as tf
layer = tf.keras.layers.Dense(3)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = layer(t)
print(layer.built)
Результат выполнения кода:
True
Пример
Давайте проверим атрибут built у слоя, который не
создает веса, например у Flatten:
import tensorflow as tf
layer = tf.keras.layers.Flatten()
print(layer.built)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = layer(t)
print(layer.built)
Результат выполнения кода:
False
True
Смотрите также
-
метод
build,
который создает веса слоя -
метод
call,
который выполняет прямой проход слоя -
атрибут
weights,
который содержит все веса слоя -
атрибут
trainable_weights,
который содержит обучаемые веса слоя