Stosuje rzadkie dodawanie do poszczególnych wartości lub wycinków zmiennej.
„ref” to „Tensor” o randze „P”, a „indeksy” to „Tensor” o randze „Q”.
„indeksy” muszą być tensorami całkowitymi, zawierającymi indeksy w „ref”. Musi to być kształt `[d_0, ..., d_{Q-2}, K]` gdzie `0 < K <= P`.
Najbardziej wewnętrzny wymiar „indeksów” (o długości „K”) odpowiada indeksom na elementy (jeśli „K = P”) lub plasterki (jeśli „K < P”) wzdłuż „K” wymiaru „ref”.
`updates` to `Tensor` rangi `Q-1+PK` o kształcie:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
Załóżmy na przykład, że chcemy dodać 4 rozproszone elementy do tensora rangi 1 do 8 elementów. W Pythonie dodatek ten będzie wyglądał następująco: 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)
Wynikowa aktualizacja ref będzie wyglądać następująco:[1, 13, 3, 14, 14, 6, 7, 20]
Zobacz tf.scatter_nd
, aby uzyskać więcej szczegółów na temat aktualizowania plasterków.
Klasy zagnieżdżone
klasa | Opcje ResourceScatterNdAdd | Opcjonalne atrybuty dla ResourceScatterNdAdd |
Metody publiczne
statyczny <T numer rozszerzenia, U> ResourceScatterNdAdd | |
statyczne ResourceScatterNdAdd.Options | useLocking (boolowski useLocking) |
Metody dziedziczone
Metody publiczne
public static ResourceScatterNdAdd create (zakres zakresu , argument <?> ref, indeksy argumentu <T>, aktualizacje argumentu <U>, opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację ResourceScatterNdAdd.
Parametry
zakres | aktualny zakres |
---|---|
ref | Uchwyt zasobu. Musi pochodzić z VarHandleOp. |
indeksy | Tensor. Musi to być jeden z następujących typów: int32, int64. Tensor indeksów w ref. |
aktualizacje | Tensor. Musi mieć ten sam typ co ref. Tensor wartości do dodania do ref. |
opcje | przenosi opcjonalne wartości atrybutów |
Powroty
- nowa instancja ResourceScatterNdAdd
public static ResourceScatterNdAdd.Options useLocking (boolean useLocking)
Parametry
użyjBlokowanie | Opcjonalny bool. Wartość domyślna to Prawda. Jeśli ma wartość True, przypisanie będzie chronione zamkiem; w przeciwnym razie zachowanie jest niezdefiniowane, ale może wykazywać mniejszą rywalizację. |
---|