Deep Learning Academy · Урок

Вызовите backward(), чтобы получить градиенты

Заполните .grad одной строкой

Урок 2 из 413 шагов

«Вызовите backward(), чтобы получить градиенты» — бесплатный урок Deep Learning Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Deep Learning Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Deep Learning Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

One Line to Differentiate

Once your graph is built, a single call does all the calculus. Run backward() on your output and gradients flow back to every input.

Start From a Scalar

You call backward on the final number you want to minimize, usually the loss. It must be a single scalar so autograd knows where to start.

y = x ** 2
y.backward()

Gradients Land in .grad

After backward runs, each leaf tensor's .grad holds the derivative of the output with respect to that tensor. The math is already done.

print(x.grad)

A Quick Check by Hand

For y equal to x squared, calculus says the derivative is 2x. At x equal to 2 that is 4, and PyTorch fills x.grad with exactly 4.0.

Backward Walks the Graph

backward() travels the graph from output to inputs, applying the chain rule at every node. You wrote only the forward math and got all of this free.

Gradients for Many Inputs

If your output depends on several tracked tensors, one backward call fills the .grad of each of them at once. That is how whole models update.

loss = (a * b + c).sum()
loss.backward()

The Graph Is Spent

By default the graph is freed after backward to save memory, so calling it twice errors. You build a fresh graph on the next forward pass.

Keep It If You Must

Need to call backward again on the same graph? Pass retain_graph equals true. You rarely need this, so skip it unless an error tells you to.

loss.backward(retain_graph=True)

Non-Scalar Outputs

If your output is a vector, backward needs a gradient argument saying how to weight each element. Most of the time you sum to a scalar instead.

This Is the Backward Pass

That single backward call is the famous backward pass of training. Forward computes predictions, backward computes how to fix the weights.

From Gradients to Learning

The numbers in .grad tell each weight which way to move. An optimizer reads them and nudges the weights to lower the loss a little.

Quick Check

Make sure backward is clear.

Recap

Call backward() on a scalar loss and autograd applies the chain rule across the graph, filling each tensor's .grad with its derivative. That is the backward pass. 🔁

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Вызовите backward(), чтобы получить градиенты» бесплатный?

Да — полный текст урока «Вызовите backward(), чтобы получить градиенты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Deep Learning Academy, подпишись на CoddyKit PRO. Курс Deep Learning Academy содержит 4 уроков всего.

Чему я научусь в уроке «Вызовите backward(), чтобы получить градиенты»?

Заполните .grad одной строкой Ты практикуешь Deep Learning Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Deep Learning Academy?

Предыдущий опыт не требуется. Deep Learning Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Вызовите backward(), чтобы получить градиенты»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Deep Learning Academy?

Да. Каждый урок Deep Learning Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. requires_grad и вычислительный граф
  2. Вызовите backward(), чтобы получить градиенты
  3. Чтение и обнуление .grad
  4. torch.no_grad() для вывода
← Назад к Deep Learning Academy