Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
237 of 769 menu
◀ ▶

Функция isfinite

Функция isfinite используется для определения, являются ли элементы тензора конечными числами. Она возвращает тензор булевых значений, где True означает, что соответствующий элемент является конечным числом (не inf, не -inf и не nan). Функция особенно полезна при отладке моделей, когда нужно проверить наличие взрывов градиентов или потерю численной стабильности.

Синтаксис

torch.isfinite(input)

Параметры функции:

  • input - входной тензор для проверки

Функция возвращает тензор такого же размера, как и input, но с булевыми элементами.

Пример

Базовое использование функции isfinite для проверки конечных значений в тензоре:

import torch t = torch.tensor([1.0, float('inf'), 2.5, float('nan'), -3.0]) res = torch.isfinite(t) print(res)

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

tensor([ True, False, True, False, True])

Как видно из примера, для бесконечности и nan возвращается False, а для обычных чисел - True.

Пример

Использование isfinite в реальном сценарии для фильтрации невалидных значений:

import torch t = torch.tensor([1.0, 2.0, 3.0, float('nan'), 5.0]) mask = torch.isfinite(t) valid_values = t[mask] print(valid_values)

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

tensor([1., 2., 3., 5.])

С помощью маски можно легко отфильтровать все невалидные значения.

Пример

Проверка наличия хотя бы одного неконечного значения в тензоре:

import torch t = torch.tensor([1.0, float('inf'), 3.0, 4.0, 5.0]) has_invalid = not torch.all(torch.isfinite(t)) print(has_invalid)

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

True

Этот подход позволяет быстро проверить, есть ли в тензоре неконечные значения.

Пример

Применение isfinite к многомерному тензору:

import torch t = torch.tensor([ [1.0, float('inf'), 3.0], [4.0, 5.0, float('nan')] ]) res = torch.isfinite(t) print(res)

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

tensor([ [ True, False, True], [ True, True, False] ])

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

  • функцию isnan,
    которая проверяет элементы тензора на nan
  • функцию isinf,
    которая проверяет элементы тензора на бесконечность
  • функцию allclose,
    которая проверяет близость двух тензоров с заданной точностью
  • функцию isclose,
    которая поэлементно проверяет близость значений двух тензоров
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить