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

Метод zero_

Метод zero_ класса Tensor заменяет все элементы тензора на нули. Операция выполняется непосредственно на месте (in-place), то есть изменяет исходный тензор, не создавая новый. Это полезно для сброса значений весов или градиентов в процессе обучения моделей. Метод не принимает аргументов и возвращает сам тензор после изменений.

Синтаксис

tensor.zero_()

Пример

Давайте создадим тензор с произвольными значениями и обнулим его с помощью zero_:

import torch t = torch.tensor([1, 2, 3, 4, 5]) print("До обнуления:", t) t.zero_() print("После обнуления:", t)

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

До обнуления: tensor([1, 2, 3, 4, 5]) После обнуления: tensor([0, 0, 0, 0, 0])

Пример

Рассмотрим обнуление двумерного тензора:

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], ]) print("Исходный тензор:") print(t) t.zero_() print("Обнулённый тензор:") print(t)

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

Исходный тензор: tensor([ [1, 2, 3], [4, 5, 6], ]) Обнулённый тензор: tensor([ [0, 0, 0], [0, 0, 0], ])

Пример

Метод zero_ часто используется для обнуления градиентов перед обратным распространением ошибки:

import torch t = torch.tensor([2.0, 3.0], requires_grad=True) loss = (t ** 2).sum() loss.backward() print("Градиенты до обнуления:", t.grad) t.grad.zero_() print("Градиенты после обнуления:", t.grad)

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

Градиенты до обнуления: tensor([4., 6.]) Градиенты после обнуления: tensor([0., 0.])

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

  • метод fill_,
    который заполняет тензор заданным значением
  • метод copy_,
    который копирует данные из другого тензора
  • метод add_,
    который прибавляет значение к тензору на месте
  • метод mul_,
    который умножает тензор на значение на месте
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить