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

Заполнение по маске в PyTorch

Метод masked_fill возвращает новый тензор: в ячейках, где маска истинна, записывают одно заданное число, остальные значения копируют из исходника.

Создадим таблицу и маску на угловых ячейках; результат сохраним отдельно и проверим, что исходник не изменился:

import torch grid = torch.tensor([[1.0, 2.0], [3.0, 4.0]]) corners = torch.tensor([[True, False], [False, True]]) filled = grid.masked_fill(corners, -1.0) print(filled) # выведет tensor([[-1., 2.], [ 3., -1.]]) print(grid) # выведет tensor([[1., 2.], [3., 4.]])

Тот же приём удобен, когда маску строят из сравнения с порогом:

import torch temps = torch.tensor([0.5, 2.0, -1.0, 3.0]) updated = temps.masked_fill(temps < 0, 0.0) print(updated) # выведет tensor([0.5000, 2.0000, 0.0000, 3.0000])

Создайте ряд [5, 0, 7, 0, 9] и замените нули числом -1; выведите новый ряд, не меняя исходный.

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

Создайте ряд оценок [8, 3, 9, 4] и замените значения ниже 5 на 5; выведите итоговый ряд.

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