tensorflow:: ops:: ScatterNdUpdate

#include <state_ops.h>

Stosuje rzadkie updates do poszczególnych wartości lub wycinków w ramach danego elementu.

Streszczenie

zmienna według indices .

ref jest Tensor rangi P , a indices jest Tensor rangi Q

indices muszą być tensorami całkowitymi, zawierającymi indeksy w ref . Musi 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, załóżmy, że chcemy zaktualizować 4 rozproszone elementy do tensora rangi 1, który ma 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 wyglądałaby następująco:

[1, 11, 3, 10, 9, 6, 7, 12]

Więcej szczegółów na temat aktualizowania wycinków można znaleźć w tf.scatter_nd .

Zobacz także tf.scatter_update i tf.batch_scatter_update .

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

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:: Attrs

Opcjonalne settery atrybutów dla ScatterNdUpdate .

Atrybuty publiczne

działanie

Operation operation

odniesienie_wyjściowe

::tensorflow::Output output_ref

Funkcje publiczne

ScatterNdUpdate

 ScatterNdUpdate(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates
)

ScatterNdUpdate

 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::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const 

Publiczne funkcje statyczne

Użyj blokady

Attrs UseLocking(
  bool x
)