Функция strings.reduce_join
Функция strings.reduce_join объединяет элементы строкового тензора вдоль указанной оси, вставляя между ними заданный разделитель. Первым параметром передается строковый тензор, вторым - ось объединения, третьим - разделитель. Функция возвращает новый тензор, в котором размерность вдоль оси объединения становится равной единице.
Если ось не указана, объединение выполняется по последней оси. Разделитель по умолчанию - пустая строка. Параметр keep_dims позволяет сохранить размерность оси в результирующем тензоре.
Синтаксис
tf.strings.reduce_join(input, [axis], [keep_dims], [separator], [name])
Пример
Давайте объединим строки одномерного тензора с разделителем -:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
res = tf.strings.reduce_join(t, separator='-')
print(res)
Результат выполнения кода:
tf.Tensor(b'abcde-model.keras', shape=(), dtype=string)
Пример
Давайте объединим строки двумерного тензора вдоль оси 0:
Результат выполнения кода:
tf.Tensor([b'abcde xyz' b'model.keras qwerty'], shape=(2,), dtype=string)
Пример
Давайте объединим строки двумерного тензора вдоль оси 1 с сохранением размерности:
import tensorflow as tf
t = tf.constant([['abcde', 'model.keras'], ['xyz', 'qwerty']])
res = tf.strings.reduce_join(t, axis=1, separator=', ', keep_dims=True)
print(res)
Результат выполнения кода:
tf.Tensor(
[[b'abcde, model.keras']
[b'xyz, qwerty']], shape=(2, 1), dtype=string)