przepływ tensorowy:: ops:: RozproszenieNdSub
#include <state_ops.h>Stosuje rzadkie odejmowanie do poszczególnych wartości lub wycinków w zmiennej .
Streszczenie
w ramach danej zmiennej według indices .
ref jest Tensor o randze P , a indices jest Tensor o randze Q
indices 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 indices (o długości K ) odpowiada indeksom na elementy (jeśli K = P ) lub plasterki (jeśli K < P ) wzdłuż K -tego 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 odjąć 4 rozproszone elementy od tensora rangi 1 zawierającego 8 elementów. W Pythonie to odejmowanie 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]) sub = tf.scatter_nd_sub(ref, indices, updates) with tf.Session() as sess: print sess.run(sub)
Wynikowa aktualizacja ref będzie wyglądać następująco:
[1, -9, 3, -6, -4, 6, 7, -4]
Zobacz tf.scatter_nd , aby uzyskać więcej szczegółów na temat aktualizowania plasterków.
Argumenty:
- zakres: Obiekt Scope
- ref: Zmienny Tensor . Powinien pochodzić z węzła Variable .
- 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 zaktualizowanych wartości do odjęcia od ref.
Opcjonalne atrybuty (patrz Attrs ):
- use_locking: 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ę.
Zwroty:
-
Output: takie same jak w przypadku ref. Zwracany dla wygody operacji, które chcą używać zaktualizowanych wartości po zakończeniu aktualizacji.
Konstruktory i destruktory | |
|---|---|
ScatterNdSub (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates) | |
ScatterNdSub (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdSub::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:: ScatterNdSub:: Atrybuty | Opcjonalne moduły ustawiające atrybuty dla ScatterNdSub . |
Atrybuty publiczne
działanie
Operation operation
wyjście_ref
::tensorflow::Output output_ref
Funkcje publiczne
RozproszenieNdSub
ScatterNdSub( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates )
RozproszenieNdSub
ScatterNdSub( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterNdSub::Attrs & attrs )
węzeł
::tensorflow::Node * node() const
operator::tensorflow::Wejście
operator::tensorflow::Input() const
operator::tensorflow::Wyjście
operator::tensorflow::Output() const
Publiczne funkcje statyczne
Użyj Blokowania
Attrs UseLocking( bool x )