Применяет разреженное вычитание к отдельным значениям или срезам переменной.
«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])
sub = tf.scatter_nd_sub(ref, indices, updates)
with tf.Session() as sess:
print sess.run(sub)
Итоговое обновление ref будет выглядеть так:[1, -9, 3, -6, -4, 6, 7, -4]
См. tf.scatter_nd
для получения более подробной информации о том, как обновлять срезы.
Вложенные классы
сорт | ResourceScatterNdSub.Options | Дополнительные атрибуты для ResourceScatterNdSub |
Публичные методы
static <T расширяет число, U> ResourceScatterNdSub | |
статический ResourceScatterNdSub.Options | useLocking (логическое значение useLocking) |
Унаследованные методы
Публичные методы
public static ResourceScatterNdSub create (область области действия , операнд <?> ref, индексы операнда <T>, обновления операнда <U>, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию ResourceScatterNdSub.
Параметры
объем | текущий объем |
---|---|
ссылка | Дескриптор ресурса. Должно быть из VarHandleOp. |
индексы | Тензор. Должен быть одним из следующих типов: int32, int64. Тензор индексов в ref. |
обновления | Тензор. Должен иметь тот же тип, что и ссылка. Тензор значений, которые нужно добавить к ссылке. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр ResourceScatterNdSub
общедоступный статический ResourceScatterNdSub.Options useLocking (логическое значение useLocking)
Параметры
использоватьLocking | Необязательное логическое значение. По умолчанию установлено значение «Истина». Если принимает значение True, назначение будет защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов. |
---|