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
)