tf.stack
| Просмотреть исходный код на GitHub |
Упаковывает список тензоров ранга R в один тензор ранга (R+1).
tf.stack(
values, axis=0, name='stack'
)
Упаковывает список тензоров в 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]) # [[1, 4], [2, 5], [3, 6]] (Pack along first dim.) tf.stack([x, y, z], axis=1) # [[1, 2, 3], [4, 5, 6]]
Это противоположность операции unstack. Аналогом в NumPy является
tf.stack([x, y, z]) = np.stack([x, y, z])
| Аргументы | |
|---|---|
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/r1.15/api_docs/python/tf/stack