tf.concat
Конкатенирует тензоры вдоль одного измерения.
tf.concat(
values, axis, name='concat'
)
Используется в блокнотах
| Используется в руководстве | Используется в учебниках |
|---|---|
См. также tf.tile, tf.stack, tf.repeat.
Конкатенирует список тензоров values вдоль измерения axis. Если values[i].shape = [D0, D1, ... Daxis(i), ...Dn], конкатенированный результат имеет форму
[D0, D1, ... Raxis, ...Dn]
где
Raxis = sum(Daxis(i))
То есть, данные из входных тензоров соединяются вдоль axis измерения.
Количество измерений входных тензоров должно совпадать, и все измерения, кроме axis, должны быть равны.
Например:
t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]
tf.concat([t1, t2], 0)
<tf.Tensor: shape=(4, 3), dtype=int32, numpy=
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]], dtype=int32)>tf.concat([t1, t2], 1)
<tf.Tensor: shape=(2, 6), dtype=int32, numpy=
array([[ 1, 2, 3, 7, 8, 9],
[ 4, 5, 6, 10, 11, 12]], dtype=int32)>Как и в Python, axis могут быть также отрицательными числами. Отрицательные axis интерпретируются как счёт с конца ранга, т.е. axis + rank(values)-е измерение.
Например:
t1 = [[[1, 2], [2, 3]], [[4, 4], [5, 3]]]
t2 = [[[7, 4], [8, 4]], [[2, 10], [15, 11]]]
tf.concat([t1, t2], -1)
<tf.Tensor: shape=(2, 2, 4), dtype=int32, numpy=
array([[[ 1, 2, 7, 4],
[ 2, 3, 8, 4]],
[[ 4, 4, 2, 10],
[ 5, 3, 15, 11]]], dtype=int32)>Примечание: Если вы конкатенируете вдоль нового измерения, рассмотрите использование stack. Например:
tf.concat([tf.expand_dims(t, axis) for t in tensors], axis)
может быть переписано как
tf.stack(tensors, axis=axis)
| Аргументы | |
|---|---|
values | Список объектов Tensor или один объект Tensor. |
axis | 0-мерное int32 Tensor. Измерение для конкатенации. Должно быть в диапазоне [-rank(values), rank(values)). Как и в Python, индексация для оси основана на 0. Положительная ось в диапазоне [0, rank(values)) относится к axis-му измерению. А отрицательная ось относится к axis + rank(values)-му измерению. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Объект Tensor, полученный в результате конкатенации входных тензоров. |
© 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/concat