tf.stack
Объединяет список тензоров ранга 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 | int. Ось, вдоль которой выполняется объединение. По умолчанию используется первое измерение. Отрицательные значения отсчитываются с конца, поэтому допустимый диапазон — [-(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/api_docs/python/tf/stack