torch.nn
torch.nn er PyTorchs modul til at definere og arbejde med neurale netværk; det indeholder foruddefinerede lag, tabfunktioner og aktiveringsfunktioner.
Kort fortalt
En værktøjskasse i PyTorch med byggeklodser til neurale netværk – lag, tab og funktioner du kan sammensætte.
- Kategori
- værktøj
- Niveau
- øvet
Betydninger
1- 1
PyTorchs modul med basisklassen Module og færdige komponenter til neurale netværk, herunder lag (f.eks. Linear, Conv2d), aktiveringsfunktioner (ReLU, Sigmoid) og tabfunktioner (MSELoss, CrossEntropyLoss).
- Ved at arve fra torch.nn.Module kan man definere en tilpasset model ved at sammensætte lag i __init__ metoden. — PyTorch dokumentation
- Tabfunktionen torch.nn.CrossEntropyLoss kombinerer softmax og krydsentropi i én operation. — PyTorch dokumentation
Hvornår bruges det
Bruges når man skal opbygge en neural netværksmodel i PyTorch ved at arve fra torch.nn.Module og sammensætte lag i __init__ metoden; tabfunktioner som torch.nn.CrossEntropyLoss anvendes til træning.
Kodeeksempel
import torch.nn as nn
class MyModel(nn.Module):
def __init__(self):
super().__init__()
self.fc = nn.Linear(10, 5)
self.relu = nn.ReLU()
def forward(self, x):
return self.relu(self.fc(x))Et simpelt neuralt netværk med et lineært lag og ReLU-aktivering defineret ved at arve fra nn.Module.
Oprindelse
Navnet kommer fra 'torch' (PyTorch) og 'nn' for 'neural network' (neuralt netværk).