РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
71 of 824 menu

Функция scatter_nd

Функция scatter_nd распределяет значения из тензора updates в новый тензор по указанным индексам indices. Первым параметром передается тензор индексов, вторым - тензор значений, третьим - форма результирующего тензора. Функция возвращает тензор той же формы, что и указанная форма, в котором позиции из indices заполнены значениями из updates, а остальные элементы равны нулю.

Синтаксис

tf.scatter_nd(indices, updates, shape)

Пример

Давайте распределим значения 1, 2, 3, 4, 5 по позициям 0, 2, 4, 6, 8 в тензоре длины 10:

import tensorflow as tf indices = tf.constant([[0], [2], [4], [6], [8]]) updates = tf.constant([1, 2, 3, 4, 5]) t = tf.scatter_nd(indices, updates, [10]) print(t)

Результат выполнения кода:

tf.Tensor([1 0 2 0 3 0 4 0 5 0], shape=(10,), dtype=int32)

Пример

Давайте распределим значения по двумерным координатам в тензоре формы 3 на 4:

import tensorflow as tf indices = tf.constant([[0, 0], [1, 2], [2, 3]]) updates = tf.constant([1, 2, 3]) t = tf.scatter_nd(indices, updates, [3, 4]) print(t)

Результат выполнения кода:

tf.Tensor( [[1 0 0 0] [0 0 2 0] [0 0 0 3]], shape=(3, 4), dtype=int32)

Пример

Давайте передадим индексы в виде тензора с несколькими координатами для одной позиции, чтобы сложить значения в одной ячейке:

import tensorflow as tf indices = tf.constant([[0], [0], [1]]) updates = tf.constant([1, 2, 3]) t = tf.scatter_nd(indices, updates, [3]) print(t)

Результат выполнения кода:

tf.Tensor([3 3 0], shape=(3,), dtype=int32)

Пример

Давайте распределим значения с плавающей точкой по индексам и выведем результат в виде массива NumPy:

import tensorflow as tf indices = tf.constant([[1], [3]]) updates = tf.constant([1.5, 2.5], dtype=tf.float32) t = tf.scatter_nd(indices, updates, [5]) res = t.numpy() print(res)

Результат выполнения кода:

[0. 1.5 0. 2.5 0. ]

Смотрите также

  • функцию gather_nd,
    которая собирает значения по заданным индексам
  • функцию gather,
    которая извлекает срезы тензора по индексам
  • функцию one_hot,
    которая создает one-hot представление индексов
  • функцию where,
    которая возвращает индексы ненулевых элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить