Применяет разреженное сложение к отдельным значениям или срезам переменной.
«ref» — это «Тензор» с рангом «P», а «indexes» — это «Тензор» ранга «Q».
`indexes` должен быть целочисленным тензором, содержащим индексы в `ref`. Это должна быть форма `[d_0, ..., d_{Q-2}, K]`, где `0 < K <= P`.
Самое внутреннее измерение индексов (длиной K) соответствует индексам элементов (если K = P) или срезов (если K < P) вдоль K-го измерения ref.
«обновления» — это «Тензор» ранга «Q-1+PK» формы:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
Например, предположим, что мы хотим добавить 4 разбросанных элемента к тензору ранга 1 к 8 элементам. В Python это дополнение будет выглядеть так: ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8], use_resource=True)
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
print sess.run(add)
Итоговое обновление ref будет выглядеть так:[1, 13, 3, 14, 14, 6, 7, 20]
См. tf.scatter_nd
для получения более подробной информации о том, как обновлять срезы.
Вложенные классы
сорт | ResourceScatterNdAdd.Options | Дополнительные атрибуты для ResourceScatterNdAdd |
Публичные методы
static <T расширяет число, U> ResourceScatterNdAdd | |
статический ResourceScatterNdAdd.Options | useLocking (логическое значение useLocking) |
Унаследованные методы
Публичные методы
public static ResourceScatterNdAdd create (область действия , операнд <?> ref, индексы операнда <T>, обновления операнда <U>, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию ResourceScatterNdAdd.
Параметры
объем | текущий объем |
---|---|
ссылка | Дескриптор ресурса. Должно быть из VarHandleOp. |
индексы | Тензор. Должен быть одним из следующих типов: int32, int64. Тензор индексов в ref. |
обновления | Тензор. Должен иметь тот же тип, что и ссылка. Тензор значений, которые нужно добавить в ссылку. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр ResourceScatterNdAdd
общедоступный статический ResourceScatterNdAdd.Options useLocking (логическое значение useLocking)
Параметры
использоватьLocking | Необязательное логическое значение. По умолчанию установлено значение «Истина». Если принимает значение True, назначение будет защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов. |
---|