Функция tile
Функция tile создает новый тензор,
повторяя элементы входного тензора заданное
число раз. Первым параметром функция принимает
исходный тензор, вторым - тензор или список
multiples, который задает количество
повторений вдоль каждого измерения. Если длина
multiples больше ранга входного тензора,
входной тензор дополняется новыми осями единичной
длины. Если меньше - multiples дополняется
единицами.
Синтаксис
tf.tile(input, multiples, [name])
Пример
Давайте размножим одномерный тензор
1, 2, 3 три раза вдоль
единственной оси:
import tensorflow as tf
t = tf.constant([1, 2, 3])
res = tf.tile(t, [3])
print(res)
Результат выполнения кода:
tf.Tensor([1 2 3 1 2 3 1 2 3], shape=(9,), dtype=int32)
Пример
Давайте размножим двумерный тензор по двум осям: два раза по строкам и три раза по столбцам:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = tf.tile(t, [2, 3])
print(res)
Результат выполнения кода:
tf.Tensor(
[[1 2 3 1 2 3 1 2 3]
[4 5 6 4 5 6 4 5 6]
[1 2 3 1 2 3 1 2 3]
[4 5 6 4 5 6 4 5 6]], shape=(4, 9), dtype=int32)
Пример
Давайте передадим в multiples больше
элементов, чем измерений у тензора - это добавит
новые оси:
import tensorflow as tf
t = tf.constant([1, 2, 3])
res = tf.tile(t, [2, 2])
print(res)
Результат выполнения кода:
tf.Tensor(
[[1 2 3 1 2 3]
[1 2 3 1 2 3]], shape=(2, 6), dtype=int32)
Смотрите также
-
функцию
concat,
которая соединяет тензоры вдоль оси -
функцию
stack,
которая объединяет тензоры в новый тензор -
функцию
broadcast_to,
которая расширяет тензор до заданной формы -
функцию
pad,
которая дополняет тензор значениями по краям