Exemple #1
0
    print('Done !')

    ### Load dataset
    print('Load dataset ... ', end='')

    d_train = TextDataset(word2idx, fp_train_labeled, train=True)
    d_val = TextDataset(word2idx, fp_train_labeled, train=True, val=True)

    train_loader = DataLoader(d_train, batch_size=batch_size, shuffle=True)
    val_loader = DataLoader(d_val, batch_size=batch_size, shuffle=False)

    ### Train model
    print('Train LSTM ... ')

    model = LSTMClassifier(embedding_dim, hidden_dim, num_layers, batch_size)
    model.init_weights()
    model.embedding.weight = torch.nn.Parameter(torch.Tensor(word2vec.wv.syn0))
    model.embedding.weight.requires_grad = False
    model.cuda()
    print(model)

    criterion = nn.NLLLoss()
    optimizer = optim.Adam(
        filter(lambda p: p.requires_grad, model.parameters()))

    for epoch in range(4):
        train(epoch, model, criterion, optimizer, train_loader)
        validate(epoch, model, val_loader)

    print('Done !')