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

Выбор по маске в PyTorch

Чтобы получить все значения, для которых маска истинна, служит функция masked_select. Логический тензор должен совпадать по форме с исходным; результат всегда вытягивается в один ряд в порядке обхода ячеек.

Создадим таблицу, построим маску «больше нуля» и выведем отобранные числа:

import torch values = torch.tensor([[1, 0, 3], [0, 5, 6]]) positive = values > 0 only_positive = torch.masked_select(values, positive) print(only_positive) # выведет tensor([1, 3, 5, 6])

Маску можно задать явно той же формы, что и данные:

import torch values = torch.tensor([10, 20, 30, 40]) flags = torch.tensor([True, False, True, False]) chosen = torch.masked_select(values, flags) print(chosen) # выведет tensor([10, 30])

Создайте ряд [-1, 2, 0, 4], отберите ячейки, где число строго больше нуля, и выведите длину получившегося ряда.

Создайте таблицу [[7, 0], [0, 8]] и маску истинности только во второй ячейке первого ряда и в первой ячейке второго ряда; выведите все отмеченные значения одним рядом.

Создайте ряд из чисел 1 до 5 и логический ряд [False, True, True, False, True]; соберите отмеченные числа и выведите их через пробел в одной строке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить