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. 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).

Kilder

1