tf.concat
| Просмотреть исходный код на GitHub |
Объединяет тензоры по одному измерению.
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/versions/r2.9/api_docs/python/tf/concat