tensorflow:: ops:: ScatterNdAdd
#include <state_ops.h>Stosuje rozrzedzone dodawanie do poszczególnych wartości lub wycinków zmiennej .
Streszczenie
ref jest Tensor rangi P , a indices jest Tensor rangi Q
indices muszą być tensorami całkowitymi, zawierającymi indeksy w ref . Muszą mieć kształt [d_0, ..., d_{Q-2}, K] gdzie 0 < K <= P .
Najbardziej wewnętrzny wymiar indices (o długości K ) odpowiada indeksom na elementy (jeśli K = P ) lub wycinki (jeśli K < P ) wzdłuż K -tego wymiaru ref .
updates jest Tensor rangi Q-1+PK o kształcie:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
Na przykład, powiedzmy, że chcemy dodać 4 rozproszone elementy do tensora rzędu 1, który ma 8 elementów. W Pythonie to dodawanie wyglądałoby tak:
ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8]) 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 wyglądałaby następująco:
[1, 13, 3, 14, 14, 6, 7, 20]
Więcej szczegółów na temat aktualizowania wycinków można znaleźć w tf.scatter_nd .
Argumenty:
- zakres: obiekt zakresu
- ref: Zmienny Tensor . Powinien pochodzić z węzła Variable .
- Indeksy: Tensor . Musi być jednym z następujących typów: int32, int64. Tensor indeksów w ref.
- Aktualizacje: Tensor . Musi mieć ten sam typ co ref. Tensor zaktualizowanych wartości do dodania do ref.
Atrybuty opcjonalne (patrz Attrs ):
- use_locking: Opcjonalny bool. Domyślnie true. Jeśli true, przypisanie będzie chronione blokadą; w przeciwnym razie zachowanie jest niezdefiniowane, ale może wykazywać mniejszą liczbę konfliktów.
Zwroty:
-
Output: takie same jak ref. Zwracane dla wygody operacji, które chcą użyć zaktualizowanych wartości po zakończeniu aktualizacji.
Konstruktory i destruktory | |
|---|---|
ScatterNdAdd (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates) | |
ScatterNdAdd (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdAdd::Attrs & attrs) |
Atrybuty publiczne | |
|---|---|
operation | |
output_ref | |
Funkcje publiczne | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Publiczne funkcje statyczne | |
|---|---|
UseLocking (bool x) | |
Struktury | |
|---|---|
| tensorflow:: ops:: ScatterNdAdd:: Attrs | Opcjonalne settery atrybutów dla ScatterNdAdd . |
Atrybuty publiczne
działanie
Operation operation
odniesienie_wyjściowe
::tensorflow::Output output_ref
Funkcje publiczne
RozrzutNdDodaj
ScatterNdAdd( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates )
RozrzutNdDodaj
ScatterNdAdd( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterNdAdd::Attrs & attrs )
węzeł
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Publiczne funkcje statyczne
Użyj blokady
Attrs UseLocking( bool x )