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). |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/stack