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

Замена значений в PyTorch

Запись по индексу работает не только для чтения. Слева от знака равенства стоит ячейка тензора, справа новое значение. После присваивания тензор хранит обновлённое число.

Создадим одномерный ряд и заменим элемент с индексом 1, затем выведем весь ряд:

import torch scores = torch.tensor([4, 5, 3]) scores[1] = 10 print(scores) # выведет tensor([ 4, 10, 3])

Тот же приём работает в таблице. Создадим двумерный тензор и заменим одну ячейку по номеру строки и столбца:

import torch grid = torch.tensor([ [1, 2, 3], [4, 5, 6], ]) grid[0, 2] = 30 print(grid) # выведет tensor([[ 1, 2, 30], [ 4, 5, 6]])

Слева от равенства можно указать фрагмент ряда. Справа одно число запишется во все выбранные ячейки, а список той же длины задаёт значение для каждой ячейки по порядку:

import torch temps = torch.tensor([10, 20, 30, 40]) temps[1:3] = 0 print(temps) # выведет tensor([10, 0, 0, 40]) marks = torch.tensor([1, 2, 3, 4, 5]) marks[0:3] = torch.tensor([10, 20, 30]) print(marks) # выведет tensor([10, 20, 30, 4, 5])

Соберите ряд из чисел 2, 4 и 6, замените его среднюю ячейку на 0 и выведите ряд.

Соберите таблицу 2 на 2 из нулей, запишите 9 в нижнюю правую ячейку и выведите таблицу.

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

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