Функция transpose
Функция transpose меняет порядок осей тензора.
Первым параметром передается исходный тензор,
вторым - перестановка осей в виде списка или кортежа.
Если перестановка не указана, оси располагаются
в обратном порядке. Функция возвращает новый тензор
с измененным порядком размерностей.
Синтаксис
tf.transpose(a, perm=None, conjugate=False, name=None)
Пример
Давайте транспонируем двумерный тензор, не указывая перестановку осей:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.transpose(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[1 4]
[2 5]
[3 6]], shape=(3, 2), dtype=int32)
Пример
Давайте явно укажем перестановку осей для двумерного тензора:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.transpose(t, perm=[1, 0])
print(res)
Результат выполнения кода:
tf.Tensor(
[[1 4]
[2 5]
[3 6]], shape=(3, 2), dtype=int32)
Пример
Давайте переставим оси трехмерного тензора:
import tensorflow as tf
t = tf.constant([
[[1, 2], [3, 4]],
[[5, 6], [7, 8]]
])
res = tf.transpose(t, perm=[2, 0, 1])
print(res)
Результат выполнения кода:
tf.Tensor(
[[[1 3]
[5 7]]
[[2 4]
[6 8]]], shape=(2, 2, 2), dtype=int32)
Пример
Давайте получим форму исходного и транспонированного тензора:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.transpose(t)
print(t.shape)
print(res.shape)
Результат выполнения кода:
(2, 3)
(3, 2)
Смотрите также
-
функцию
reshape,
которая меняет форму тензора без изменения данных -
функцию
expand_dims,
которая добавляет новую ось в тензор -
функцию
squeeze,
которая удаляет оси единичной длины -
функцию
concat,
которая соединяет тензоры вдоль заданной оси