Model klasyfikacji wieloklasowej
Mając gotowy szablon modelu klasyfikacji binarnej, możesz teraz rozbudować go o obsługę klasyfikacji wieloklasowej. Model powinien przyjmować liczbę klas jako parametr, dzięki czemu będzie można go łatwo dostosować do konkretnego zadania klasyfikacji wieloklasowej w przyszłości.
Biblioteki torch oraz torch.nn jako nn zostały już zaimportowane. Wszystkie obrazy mają rozmiar 64×64 piksele.
To ćwiczenie jest częścią kursu
Głębokie uczenie dla obrazów z PyTorch
Instrukcje do ćwiczenia
- Zdefiniuj metodę
__init__, przyjmującselfinum_classesjako parametry. - Utwórz w pełni połączoną warstwę z rozmiarem wejściowym
16*32*32i liczbą klasnum_classesjako wyjściem. - Utwórz funkcję aktywacji
softmaxz parametremdim=1.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
class MultiClassImageClassifier(nn.Module):
# Define the init method
def ____(____, ____):
super(MultiClassImageClassifier, self).__init__()
self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
self.relu = nn.ReLU()
self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
self.flatten = nn.Flatten()
# Create a fully connected layer
self.fc = ____(____, ____)
# Create an activation function
self.softmax = ____(____)