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

Функция bincount

Функция bincount подсчитывает, сколько раз каждое значение встречается во входном тензоре. Первым параметром функция принимает целочисленный тензор с неотрицательными значениями. Вторым параметром можно передать тензор весов, значения которого суммируются вместо простого подсчета. Третьим параметром задается минимальная длина выходного тензора. Результатом является одномерный тензор длины, равной максимальному значению во входных данных плюс один.

Синтаксис

tf.math.bincount(arr, [weights], [minlength], [maxlength], [dtype])

Пример

Давайте подсчитаем количество вхождений каждого значения в тензоре:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5, 1, 2, 3, 1, 2, 1]) res = tf.math.bincount(t) print(res)

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

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

Пример

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

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5, 1, 2, 3, 1, 2, 1]) w = tf.constant([0.5, 0.3, 0.2, 0.1, 0.4, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2]) res = tf.math.bincount(t, weights=w) print(res)

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

tf.Tensor([0. 2.2 1.1 1. 0.1 0.4], shape=(6,), dtype=float32)

Пример

Давайте зададим минимальную длину выходного тензора через параметр minlength:

<+python+> import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5, 1, 2, 3, 1, 2, 1]) res = tf.math.bincount(t, minlength=8) print(res) <-python+>

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

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

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

  • функцию segment_sum,
    которая суммирует элементы по сегментам тензора
  • функцию unsorted_segment_sum,
    которая суммирует элементы по неотсортированным сегментам
  • функцию cumsum,
    которая вычисляет кумулятивную сумму элементов тензора
  • функцию reduce_sum,
    которая вычисляет сумму элементов тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить