Model z dwoma wejściami
Dane są gotowe – czas zbudować architekturę modelu z dwoma wejściami! W tym celu utworzysz klasę modelu z następującymi metodami:
.__init__(), w której zdefiniujesz podsieci, grupując warstwy; tutaj określasz dwie warstwy przetwarzające dwa wejścia oraz klasyfikator zwracający wynik klasyfikacji dla każdej klasy.forward(), w której przepuścisz oba wejścia przez odpowiednie, wcześniej zdefiniowane podsieci, połączysz ich wyniki i przekażesz je do klasyfikatora.
torch.nn jest już zaimportowany jako nn. Do dzieła!
To ćwiczenie jest częścią kursu
Głębokie uczenie z PyTorch – poziom średnio zaawansowany
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define sub-networks as sequential models
____ = ____(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
____ = ____(
nn.Linear(30, 8),
nn.ELU(),
)
____ = ____(
nn.Linear(128 + 8, 964),
)