Атрибут output
Атрибут output класса Layer хранит
выходной тензор слоя, полученный в результате
вызова метода call. Атрибут становится
доступным только после того, как слой был
вызван с входными данными. Если слой еще не
вызывался, обращение к атрибуту вернет значение
None. Данный атрибут удобно использовать
для анализа формы и типа выходного тензора
без повторного вызова слоя.
Синтаксис
layer.output
Пример
Давайте создадим слой Dense и посмотрим
на значение атрибута output до вызова слоя:
import tensorflow as tf
layer = tf.keras.layers.Dense(3)
print(layer.output)
Результат выполнения кода:
None
Пример
Давайте вызовем слой с входным тензором и
получим его выходной тензор через атрибут
output:
import tensorflow as tf
layer = tf.keras.layers.Dense(3)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
layer(t)
print(layer.output)
Результат выполнения кода:
tf.Tensor(
[[ 0.123456 0.234567 0.345678]
[ 0.456789 0.567891 0.678912]], shape=(2, 3), dtype=float32)
Пример
Давайте посмотрим форму выходного тензора,
используя атрибут output:
<+python+>
import tensorflow as tf
layer = tf.keras.layers.Dense(5)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
layer(t)
print(layer.output.shape)
<-python+>
Результат выполнения кода:
(2, 5)
Смотрите также
-
атрибут
input,
который хранит входной тензор слоя -
метод
call,
который выполняет прямой проход слоя -
метод
compute_output_shape,
который вычисляет форму выходного тензора -
атрибут
built,
который показывает, был ли слой построен