РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
258 of 824 menu

Метод compute_output_shape

Метод compute_output_shape класса Layer возвращает форму выходного тензора слоя по известной форме входного тензора. Метод принимает первым параметром форму входных данных input_shape в виде кортежа или TensorShape. Метод используется для проверки совместимости слоев в модели без реального прохода данных через слой.

Если слой еще не построен, метод может вызвать ошибку или потребовать предварительного вызова build. По умолчанию возвращается форма входных данных, если слой не меняет размерность.

Синтаксис

layer.compute_output_shape(input_shape)

Пример

Давайте создадим слой Dense с 3 нейронами и вычислим форму выходных данных для входа формы (5,):

import tensorflow as tf layer = tf.keras.layers.Dense(3) output_shape = layer.compute_output_shape((5,)) print(output_shape)

Результат выполнения кода:

(5, 3)

Пример

Давайте вычислим форму выходных данных для двумерного входа формы (None, 5):

<+python+> import tensorflow as tf layer = tf.keras.layers.Dense(3) output_shape = layer.compute_output_shape((None, 5)) print(output_shape) <-python+>

Результат выполнения кода:

(None, 3)

Пример

Давайте создадим собственный слой, который удваивает размерность, и переопределим в нем метод compute_output_shape:

import tensorflow as tf class DoubleLayer(tf.keras.layers.Layer): def __init__(self): super(DoubleLayer, self).__init__() def build(self, input_shape): super(DoubleLayer, self).build(input_shape) def call(self, inputs): return inputs * 2 def compute_output_shape(self, input_shape): return input_shape[:-1] + (input_shape[-1] * 2,) layer = DoubleLayer() output_shape = layer.compute_output_shape((None, 4)) print(output_shape)

Результат выполнения кода:

(None, 8)

Смотрите также

  • класс Layer,
    который является базовым классом для всех слоев
  • метод build,
    который строит слой на основе формы входа
  • метод call,
    который выполняет прямой проход через слой
  • атрибут output,
    который хранит выходной тензор слоя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить