Чередуйте значения из тензоров данных в один тензор.
Строит объединенный тензор такой, что
merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
# Scalar indices:
merged[indices[m], ...] = data[m][...]
# Vector indices:
merged[indices[m][i], ...] = data[m][i, ...]
merged.shape = [макс(индексы)] + константа
Значения объединяются по порядку, поэтому, если индекс появляется как в индексах[m][i]`, так и в индексах[n][j]` для `(m,i) < (n,j)`, срез `данных [n][j]` появится в объединенном результате. Если вам не нужна эта гарантия, ParallelDynamicStitch может работать лучше на некоторых устройствах.
Например:
indices[0] = 6
indices[1] = [4, 1]
indices[2] = [[5, 2], [0, 3]]
data[0] = [61, 62]
data[1] = [[41, 42], [11, 12]]
data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],
[51, 52], [61, 62]]
# Apply function (increments x_i) on elements for which a certain condition
# apply (x_i != -1 in this example).
x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
condition_mask=tf.not_equal(x,tf.constant(-1.))
partitioned_data = tf.dynamic_partition(
x, tf.cast(condition_mask, tf.int32) , 2)
partitioned_data[1] = partitioned_data[1] + 1.0
condition_indices = tf.dynamic_partition(
tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
x = tf.dynamic_stitch(condition_indices, partitioned_data)
# Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
# unchanged.
Константы
Нить | OP_NAME | Название этой операции, известное основному движку TensorFlow. |
Публичные методы
Выход <Т> | какВывод () Возвращает символический дескриптор тензора. |
static <T расширяет TType > DynamicStitch <T> | |
Выход <Т> | объединено () |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
публичный вывод <T> asOutput ()
Возвращает символический дескриптор тензора.
Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.
public static DynamicStitch <T> create (область действия , индексы Iterable< Operand < TInt32 >>, данные Iterable< Operand <T>>)
Фабричный метод для создания класса, обертывающего новую операцию DynamicStitch.
Параметры
объем | текущий объем |
---|
Возврат
- новый экземпляр DynamicStitch