tf.concat
| View source on GitHub |
Объединяет тензоры вдоль одного измерения.
tf.concat(
values, axis, name='concat'
)
Объединяет список тензоров 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) # [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] tf.concat([t1, t2], 1) # [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 12]] # tensor t3 with shape [2, 3] # tensor t4 with shape [2, 3] tf.shape(tf.concat([t3, t4], 0)) # [4, 3] tf.shape(tf.concat([t3, t4], 1)) # [2, 6]
Как и в 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)
что даст:
[[[ 1, 2, 7, 4], [ 2, 3, 8, 4]], [[ 4, 4, 2, 10], [ 5, 3, 15, 11]]]
Примечание: Если вы конкатенируете вдоль нового ося, используйте функцию 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 , полученный в результате конкатенации входных тензоров. |
© 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/concat