Intermediate Deep Learning with PyTorch
Michal Oleszak
Machine Learning Engineer







nn.Conv2d(3, 32, kernel_size=3)

nn.Conv2d(
3, 32, kernel_size=3, padding=1
)

nn.MaxPool2d(kernel_size=2)class Net(nn.Module): def __init__(self, num_classes): super().__init__()self.feature_extractor = nn.Sequential( nn.Conv2d(3, 32, kernel_size=3, padding=1), nn.ELU(), nn.MaxPool2d(kernel_size=2), nn.Conv2d(32, 64, kernel_size=3, padding=1), nn.ELU(), nn.MaxPool2d(kernel_size=2), nn.Flatten(), )self.classifier = nn.Linear(64*16*16, num_classes)def forward(self, x): x = self.feature_extractor(x) x = self.classifier(x) return x
feature_extractor: (convolution, activation, pooling), repeated twice and flattenedclassifier: single linear layerforward(): pass input image through feature extractor and classifierself.feature_extractor = nn.Sequential(
nn.Conv2d(3, 32, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Conv2d(32, 64, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Flatten(),
)
self.classifier = nn.Linear(64*16*16, num_classes)
`

self.feature_extractor = nn.Sequential(
nn.Conv2d(3, 32, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Conv2d(32, 64, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Flatten(),
)
self.classifier = nn.Linear(64*16*16, num_classes)
`

self.feature_extractor = nn.Sequential(
nn.Conv2d(3, 32, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Conv2d(32, 64, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Flatten(),
)
self.classifier = nn.Linear(64*16*16, num_classes)
`

self.feature_extractor = nn.Sequential(
nn.Conv2d(3, 32, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Conv2d(32, 64, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Flatten(),
)
self.classifier = nn.Linear(64*16*16, num_classes)
`

self.feature_extractor = nn.Sequential(
nn.Conv2d(3, 32, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Conv2d(32, 64, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
nn.Flatten(),
)
self.classifier = nn.Linear(64*16*16, num_classes)
`

Intermediate Deep Learning with PyTorch