Атрибут input класса Layer
Атрибут input класса Layer из модуля tf.keras.layers
представляет собой список входных тензоров или
объектов KerasTensor, которые были переданы слою
при первом вызове. Атрибут заполняется автоматически
после того, как слой был вызван с реальными данными
или после построения модели. Он позволяет получить
доступ к форме и типу входных данных слоя. Если слой
ещё не вызывался, значение атрибута равно None.
Синтаксис
layer.input
Пример
Давайте создадим слой Dense и вызовем его на
тензоре, чтобы заполнить атрибут input:
import tensorflow as tf
tf.random.set_seed(0)
layer = tf.keras.layers.Dense(3)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = layer(t)
print(layer.input)
Результат выполнения кода:
[<KerasTensor shape=(None, 3), dtype=float32, sparse=None, name=keras_tensor>]
Пример
Давайте получим форму входного тензора слоя через
атрибут input:
import tensorflow as tf
tf.random.set_seed(0)
layer = tf.keras.layers.Dense(2)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = layer(t)
print(layer.input[0].shape)
Результат выполнения кода:
(2, 3)
Пример
Давайте проверим значение атрибута input до
первого вызова слоя:
import tensorflow as tf
layer = tf.keras.layers.Dense(3)
print(layer.input)
Результат выполнения кода:
None
Смотрите также
-
класс
Layer,
который является базовым классом всех слоёв -
атрибут
output,
который хранит выходные тензоры слоя -
метод
call,
который определяет логику прямого прохода слоя -
метод
compute_output_shape,
который вычисляет форму выходного тензора