tensorflow:: ops:: ScatterNdAdd

#include <state_ops.h>

Stosuje rozrzedzone dodawanie do poszczególnych wartości lub wycinków zmiennej .

Streszczenie

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

indices muszą być tensorami całkowitymi, zawierającymi indeksy w ref . Muszą 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, powiedzmy, że chcemy dodać 4 rozproszone elementy do tensora rzędu 1, który ma 8 elementów. W Pythonie to dodawanie 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])
add = tf.scatter_nd_add(ref, indices, updates)
with tf.Session() as sess:
  print sess.run(add)

Wynikowa aktualizacja ref wyglądałaby następująco:

[1, 13, 3, 14, 14, 6, 7, 20]

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

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

ScatterNdAdd (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates)
ScatterNdAdd (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdAdd::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:: ScatterNdAdd:: Attrs

Opcjonalne settery atrybutów dla ScatterNdAdd .

Atrybuty publiczne

działanie

Operation operation

odniesienie_wyjściowe

::tensorflow::Output output_ref

Funkcje publiczne

RozrzutNdDodaj

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

RozrzutNdDodaj

 ScatterNdAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates,
  const ScatterNdAdd::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
)