Пример #1
0
        result.write(str(idx + 1) + '.\n')
        result.write("GOLD\n" +
                     gold.encode('ascii', 'ignore').decode('utf-8', 'ignore') +
                     '\n')
        result.write(
            "GEN\n" +
            beam.encode('ascii', 'ignore').decode('utf-8', 'ignore').lower() +
            '\n\n')

    return preds, golds


if __name__ == "__main__":
    args = parse_args()
    args.eval = True
    dataset = PaperDataset(args)
    args = set_args(args, dataset)
    model = Model(args)
    state_dict = torch.load(args.save,
                            map_location=lambda storage, location: storage)
    model.load_state_dict(state_dict)
    model = model.to(args.device)
    model.args = args
    model.maxlen = args.maxlen
    model.starttok = dataset.OUTPUT.vocab.stoi['<start>']
    model.endtok = dataset.OUTPUT.vocab.stoi['<eos>']
    model.eostok = dataset.OUTPUT.vocab.stoi['.']

    test(args, dataset, model)
    # evaluate(model, dataset, args)  # uncomment this and comment above in order to check loss and PPL