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

Слой Permute

Слой Permute переставляет оси входного тензора в соответствии с порядком, переданным в параметре dims. Первым параметром слой принимает кортеж или список целых чисел, задающий новое расположение осей. Нумерация осей начинается с единицы и не включает ось батча. Слой удобно использовать, например, для перехода между форматами channels_last и channels_first.

Синтаксис

tf.keras.layers.Permute(dims, **kwargs)

Пример

Давайте создадим слой Permute, который меняет местами две оси двумерного тензора:

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

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

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

Пример

Давайте применим слой Permute к тензору с формой channels_last и получим форму channels_first:

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

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

(1, 2, 3)

Пример

Давайте переставим три оси трёхмерного тензора в обратном порядке:

import tensorflow as tf t = tf.constant([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]]) layer = tf.keras.layers.Permute((3, 1, 2)) res = layer(t) print(res.shape)

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

(1, 2, 2, 2)

Пример

Давайте встроим слой Permute в модель Sequential и применим его к данным:

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

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

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

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

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