Пример #1
0
    print('unique labels = {}'.format(dataset.get_unique_labels_num()))
    print('vocab size = {}'.format(dataset.get_vocab_size()))

    if config.model_name == 'CNN':
        model = Classification(config.embedding, config.strmaxlen,
                               dataset.get_unique_labels_num(),
                               dataset.get_vocab_size())
        criterion = nn.CrossEntropyLoss()
        optimizer = optim.Adam(model.parameters(), lr=0.01)

    elif config.model_name == 'RCNN':
        model = RCNN(config.embedding, config.strmaxlen,
                     dataset.get_unique_labels_num(), dataset.get_vocab_size())
        if config.mode == 'train':
            model = model.cuda()

        criterion = nn.CrossEntropyLoss()
        optimizer = optim.Adam(model.parameters(), lr=0.01)

    elif config.model_name == "DUALRCNN":
        model = DualRCNN(config.embedding, config.strmaxlen,
                         dataset.get_unique_labels_num(),
                         dataset.get_vocab_size())
        if torch.cuda.is_available():
            model = model.cuda()
        criterion = nn.CrossEntropyLoss()
        optimizer = optim.Adam(model.parameters(), lr=0.01)

    elif config.model_name == 'TRANSFORMER':
        model = Model(config2)