тензорный поток:: опс:: ScatterNdUpdate

#include <state_ops.h>

Применяет разреженные updates к отдельным значениям или срезам внутри заданного значения.

Краткое содержание

переменная по indices .

refTensor ранга P , а indicesTensor ранга Q

indices должны быть целочисленными тензорами, содержащими индексы в ref . Это должна быть форма \([d_0, ..., d_{Q-2}, K]\) , где 0 < K <= P .

Самое внутреннее измерение indices (длиной K ) соответствует индексам на элементы (если K = P ) или срезы (если K < P ) вдоль K -го измерения ref .

updates является Tensor ранга Q-1+PK формы:

$$[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].$$

Например, предположим, что мы хотим обновить 4 разбросанных элемента до тензора ранга 1 до 8 элементов. В Python это обновление будет выглядеть так:

    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)

Результирующее обновление ссылки будет выглядеть так:

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

См. tf.scatter_nd для получения более подробной информации о том, как обновлять срезы.

См. также tf.scatter_update и tf.batch_scatter_update .

Аргументы:

  • область: объект области .
  • ссылка: Изменяемый тензор . Должно быть из узла переменных .
  • индексы: Тензор . Должен быть одним из следующих типов: int32, int64. Тензор индексов в ref.
  • обновления: Тензор . Должен иметь тот же тип, что и ссылка. Тензор обновленных значений для добавления в ссылку.

Необязательные атрибуты (см. Attrs ):

  • use_locking: необязательное логическое значение. По умолчанию установлено значение «Истина». Если принимает значение True, назначение будет защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов.

Возврат:

  • Output : То же, что и в ссылке. Возвращается для удобства операций, которые хотят использовать обновленные значения после завершения обновления.

Конструкторы и деструкторы

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)

Публичные атрибуты

operation
output_ref

Общественные функции

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Публичные статические функции

UseLocking (bool x)

Структуры

tensorflow:: ops:: ScatterNdUpdate:: Attrs

Необязательные установщики атрибутов для ScatterNdUpdate .

Публичные атрибуты

операция

Operation operation

выходной_ref

::tensorflow::Output output_ref

Общественные функции

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
)

узел

::tensorflow::Node * node() const 

оператор::tensorflow::Input

 operator::tensorflow::Input() const 

оператор::tensorflow::Выход

 operator::tensorflow::Output() const 

Публичные статические функции

Использование блокировки

Attrs UseLocking(
  bool x
)