EmpezarEmpieza gratis

Construye un modelo CNN para texto

PyBooks ha creado con éxito un motor de recomendación de libros. Su siguiente tarea es implementar un modelo de análisis de sentimiento para entender las reseñas de usuarios y obtener información sobre las preferencias de libros.

Usarás un modelo de Red Neuronal Convolucional (CNN) para clasificar datos de texto (reseñas de libros) según su sentimiento.

torch, torch.nn como nn, y torch.nn.functional como F ya se han cargado por ti.

Este ejercicio forma parte del curso

Deep Learning para texto con PyTorch

Ver curso

Instrucciones del ejercicio

  • Inicializa la capa de incrustaciones en el método __init__().
  • Aplica la capa convolucional self.conv al texto embedded dentro del método forward().
  • Aplica la activación ReLU a esta capa dentro del método forward().

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

class TextClassificationCNN(nn.Module):
    def __init__(self, vocab_size, embed_dim):
        super(TextClassificationCNN, self).__init__()
        # Initialize the embedding layer 
        self.embedding = ____.____(vocab_size, embed_dim)
        self.conv = nn.Conv1d(embed_dim, embed_dim, kernel_size=3, stride=1, padding=1)
        self.fc = nn.Linear(embed_dim, 2)
    def forward(self, text):
        embedded = self.embedding(text).permute(0, 2, 1)
        # Pass the embedded text through the convolutional layer and apply a ReLU
        conved = ____.____(self.conv(____))
        conved = conved.mean(dim=2) 
        return self.fc(conved)
Editar y ejecutar código