Функция stack
Функция stack объединяет список тензоров
одинаковой формы в один тензор, добавляя
новую ось на указанную позицию. Первым
параметром функция принимает список тензоров.
Вторым параметром можно передать индекс оси,
по которой будет выполнено объединение.
Синтаксис
tf.stack(values, [axis])
Пример
Давайте объединим два одномерных тензора
в один двумерный по оси 0:
import tensorflow as tf
a = tf.constant([1, 2, 3])
b = tf.constant([4, 5, 6])
t = tf.stack([a, b])
print(t)
Результат выполнения кода:
tf.Tensor(
[[1 2 3]
[4 5 6]], shape=(2, 3), dtype=int32)
Пример
Давайте объединим два одномерных тензора
по оси 1:
import tensorflow as tf
a = tf.constant([1, 2, 3])
b = tf.constant([4, 5, 6])
t = tf.stack([a, b], axis=1)
print(t)
Результат выполнения кода:
tf.Tensor(
[[1 4]
[2 5]
[3 6]], shape=(3, 2), dtype=int32)
Пример
Давайте объединим три двумерных тензора в один трехмерный:
import tensorflow as tf
a = tf.constant([[1, 2, 3], [4, 5, 6]])
b = tf.constant([[7, 8, 9], [10, 11, 12]])
c = tf.constant([[13, 14, 15], [16, 17, 18]])
t = tf.stack([a, b, c])
print(t)
Результат выполнения кода:
tf.Tensor(
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]
[[13 14 15]
[16 17 18]]], shape=(3, 2, 3), dtype=int32)
Смотрите также
-
функцию
unstack,
которая разбивает тензор на список тензоров -
функцию
concat,
которая объединяет тензоры без добавления новой оси -
функцию
expand_dims,
которая добавляет новую ось к тензору -
функцию
split,
которая разбивает тензор на несколько частей