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 )