Modelo de classificação binária
Como praticante de deep learning, uma das suas principais tarefas é treinar modelos para classificação de imagens. Você costuma lidar com classificação binária, em que precisa distinguir entre duas classes. Para agilizar seu fluxo de trabalho e garantir reutilização, você decidiu criar um modelo base (template) de CNN para classificação binária de imagens, que poderá ser aplicado em projetos futuros.
Os pacotes torch e torch.nn como nn já foram importados. Todas as imagens têm tamanho de 64x64 pixels.
Este exercício faz parte do curso
Deep Learning para Imagens com PyTorch
Instruções do exercício
- Crie uma camada convolucional com 3 canais de entrada, 16 canais de saída, kernel de tamanho 3, stride de 1 e padding de 1.
- Crie uma camada totalmente conectada com tamanho de entrada 16x32x32 e número de classes igual a 1; inclua apenas os valores na ordem fornecida
(16*32*32, 1). - Crie uma função de ativação
sigmoid.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
class BinaryImageClassifier(nn.Module):
def __init__(self):
super(BinaryImageClassifier, self).__init__()
# Create a convolutional layer
self.conv1 = ____(____)
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.sigmoid = ____