Modellarchitektur mit zwei Outputs
In dieser Aufgabe wirst du eine Multi-Output-Netzarchitektur erstellen, die sowohl das Zeichen als auch das Alphabet vorhersagen kann.
Erinnere dich an die allgemeine Struktur: In der .__init__()
-Methode definierst du die Schichten, die später im Forward-Pass verwendet werden. In der forward()
-Methode wirst du zunächst das Eingabebild durch einige Schichten leiten, um sein Embedding zu erhalten, das dann in zwei separate Klassifikatorschichten eingespeist wird, einen für jeden Output.
torch.nn
ist bereits unter seinem üblichen Alias importiert, lass uns also ein Modell bauen!
Diese Übung ist Teil des Kurses
Deep Learning mit PyTorch für Fortgeschrittene
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
class Net(nn.Module):
def __init__(self):
super().__init__()
self.image_layer = nn.Sequential(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
# Define the two classifier layers
____ = ____
____ = ____