przepływ tensorowy:: ops:: Aktualizacja rozproszeniaNd
#include <state_ops.h> Stosuje rzadkie updates do poszczególnych wartości lub wycinków w obrębie danego.
Streszczenie
zmienna 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 . To musi 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 zaktualizować 4 rozproszone elementy do tensora rangi 1 do 8 elementów. W Pythonie ta aktualizacja wyglądałaby 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]) update = tf.scatter_nd_update(ref, indices, updates) with tf.Session() as sess: print sess.run(update)
Wynikowa aktualizacja ref będzie wyglądać następująco:
[1, 11, 3, 10, 9, 6, 7, 12]
Zobacz tf.scatter_nd , aby uzyskać więcej szczegółów na temat aktualizowania plasterków.
Zobacz także tf.scatter_update i tf.batch_scatter_update .
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 dodania do 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 | |
|---|---|
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates) | |
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdUpdate::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:: ScatterNdUpdate:: Atrybuty | Opcjonalne moduły ustawiające atrybuty dla ScatterNdUpdate . |
Atrybuty publiczne
działanie
Operation operation
wyjście_ref
::tensorflow::Output output_ref
Funkcje publiczne
Aktualizacja rozproszeniaNd
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates )
Aktualizacja rozproszeniaNd
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterNdUpdate::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 )