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

Класс Reshape

Класс Reshape изменяет форму входного тензора, сохраняя порядок и количество его элементов. Первым параметром слой принимает кортеж или список целых чисел, задающий целевую форму выходного тензора. В качестве одного из измерений можно указать -1, тогда размер этого измерения будет вычислен автоматически, исходя из общего числа элементов. Слой применяется к данным независимо от их размерности и часто используется для перехода от сверточных слоев к полносвязным.

Синтаксис

tf.keras.layers.Reshape(target_shape, **kwargs)

Пример

Давайте изменим форму одномерного тензора из пяти элементов в двумерный тензор формы (1, 5):

import tensorflow as tf layer = tf.keras.layers.Reshape((1, 5)) t = tf.constant([1, 2, 3, 4, 5]) res = layer(t) print(res)

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

tf.Tensor( [[[1 2 3 4 5]]], shape=(1, 1, 5), dtype=int32)

Пример

Давайте применим слой Reshape к двумерному тензору формы (2, 3) и получим тензор формы (3, 2):

<+python+> import tensorflow as tf layer = tf.keras.layers.Reshape((3, 2)) t = tf.constant([[1, 2, 3], [4, 5, 6]]) res = layer(t) print(res) <-python+>

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

tf.Tensor( [[1 2] [3 4] [5 6]], shape=(3, 2), dtype=int32)

Пример

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

import tensorflow as tf layer = tf.keras.layers.Reshape((-1, 1)) t = tf.constant([1, 2, 3, 4, 5]) res = layer(t) print(res)

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

tf.Tensor( [[[1] [2] [3] [4] [5]]], shape=(1, 5, 1), dtype=int32)

Пример

Давайте встроим слой Reshape в модель Sequential и посмотрим итоговую форму выходного тензора:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Reshape((3, 2), input_shape=(6,)) ]) t = tf.constant([1, 2, 3, 4, 5, 6]) res = model(t) print(res)

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

tf.Tensor( [[1 2] [3 4] [5 6]], shape=(1, 3, 2), dtype=int32)

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

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