Modelo de clasificación binaria
Como profesional del aprendizaje profundo, una de tus tareas principales es entrenar modelos para la clasificación de imágenes. A menudo te encuentras con clasificaciones binarias, en las que es necesario distinguir entre dos clases. Para optimizar tu flujo de trabajo y garantizar la reutilización, has decidido crear una plantilla para un modelo CNN de clasificación de imágenes binarias, que se podrá aplicar a proyectos futuros.
Se han importado los paquetes torch
y torch.nn
como nn
. Todos los tamaños de imagen son de 64 x 64 píxeles.
Este ejercicio forma parte del curso
Aprendizaje profundo para imágenes con PyTorch
Instrucciones del ejercicio
- Crea una capa convolucional con 3 canales, 16 canales de salida, tamaño de núcleo de 3, paso de 1 y relleno de 1.
- Crea una capa totalmente conectada con un tamaño de entrada de 16x32x32 y un número de clases igual a 1; incluye solo los valores en el orden proporcionado
(16*32*32, 1)
. - Crea una función de activación «
sigmoid
».
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
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 = ____