tf.stack
| Просмотреть исходный код на GitHub |
Складывает список тензоров ранга R в один тензор ранга (R+1).
tf.stack(
values, axis=0, name='stack'
)
См. также tf.concat, tf.tile, tf.repeat.
Упаковывает список тензоров в values в тензор с рангом на один выше, чем у каждого тензора в values, упаковывая их вдоль axis размерности. Учитывая список длины N тензоров формы (A, B, C);
если axis == 0, то тензор output будет иметь форму (N, A, B, C). если axis == 1, то тензор output будет иметь форму (A, N, B, C). И т.д.
Например:
x = tf.constant([1, 4])
y = tf.constant([2, 5])
z = tf.constant([3, 6])
tf.stack([x, y, z])
<tf.Tensor: shape=(3, 2), dtype=int32, numpy=
array([[1, 4],
[2, 5],
[3, 6]], dtype=int32)>
tf.stack([x, y, z], axis=1)
<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
[4, 5, 6]], dtype=int32)>
Это противоположно unstack. Эквивалент в numpy это np.stack
np.array_equal(np.stack([x, y, z]), tf.stack([x, y, z])) True
| Аргументы | |
|---|---|
values | Список Tensor объектов с одинаковой формой и типом. |
axis | Целое число. Ось для стекирования. По умолчанию - первая размерность. Отрицательные значения оборачиваются, поэтому допустимый диапазон - [-(R+1), R+1). |
name | Имя для этой операции (необязательно). |
| Возвращаемое значение | |
|---|---|
output | Стек Tensor с тем же типом, что и values. |
| Исключения | |
|---|---|
ValueError | Если axis выходит за пределы диапазона [-(R+1), R+1). |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/stack