Where is the Backward function defined in PyTorch?
-
12-12-2020 - |
Question
This might sound a little basic but while running the code below, I wanted to see the source code of the backward function:
import torch.nn as nn
[...]
criterion = nn.CrossEntropyLoss()
loss = criterion(output, target)
loss.backward()
So I went to the PyTorch GitHub and found the CrossEntropyLoss class, but without any backward function defined. Moving up, CrossEntropyLoss extends _WeightedLoss >> _Loss >> Module then still nothing.
So, where is the backward function defined?
Solution
Backward function is same for all type of layers.
Look at 155 number line here.
https://github.com/pytorch/pytorch/blob/35bd2b3c8b64d594d85fc740e94c30aa67892a34/torch/tensor.py
and it will forward you to here
Licensed under: CC-BY-SA with attribution
Not affiliated with datascience.stackexchange