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