Модель многоклассовой классификации
Имея готовый шаблон модели бинарной классификации, вы можете расширить его и создать модель многоклассовой классификации. Модель должна поддерживать произвольное количество классов через параметр, что позволит в дальнейшем адаптировать её под конкретную задачу многоклассовой классификации.
Пакеты torch и torch.nn (как nn) уже импортированы. Размер всех изображений — 64×64 пикселя.
Это упражнение является частью курса
Глубокое обучение для работы с изображениями на PyTorch
Инструкции к упражнению
- Определите метод
__init__, указавselfиnum_classesв качестве параметров. - Создайте полносвязный слой с размером входа
16*32*32и количеством классовnum_classesв качестве выхода. - Создайте функцию активации
softmaxс параметромdim=1.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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 = ____(____)