Ejemplo n.º 1
0
    for n in range(params.num_samples):
        mappings.append(
            sample_from_multivariate_gaussian(interpolated_mapping,
                                              var=params.var))

    for m, sampled_mapping in enumerate(mappings):
        trainer.set_mapping_weights(weights=sampled_mapping)

        # compute the discriminator loss
        logger.info('----> COMPUTING DISCRIMINATOR LOSS <----\n\n')
        logger.info('alpha={}, m={}'.format(alpha, m))
        losses = []
        for n_iter in range(0, params.epoch_size, params.batch_size):
            loss = trainer.compute_loss()
            losses.append(loss.cpu().data.numpy())
            #print(losses)
        logger.info('Discriminator loss {}: {}\n'.format(m, np.mean(losses)))

        evaluator = Evaluator(trainer)

        # run evaluations
        to_log = OrderedDict({'n_iter': 0})
        evaluator.monolingual_wordsim(to_log)
        # evaluator.monolingual_wordanalogy(to_log)
        if params.tgt_lang:
            evaluator.crosslingual_wordsim(to_log)
            evaluator.word_translation(to_log)
            #evaluator.sent_translation(to_log)
            evaluator.dist_mean_cosine(to_log)
Ejemplo n.º 2
0
parser.add_argument("--src_emb", type=str, default="data/fastText/wiki.en.vec", help="Reload source embeddings")
parser.add_argument("--tgt_emb", type=str, default="data/fastText/wiki.it.vec", help="Reload target embeddings")
parser.add_argument("--max_vocab", type=int, default=200000, help="Maximum vocabulary size (-1 to disable)")
parser.add_argument("--emb_dim", type=int, default=300, help="Embedding dimension")
parser.add_argument("--normalize_embeddings", type=str, default="renorm", help="Normalize embeddings before training")

parser.add_argument("--alpha", type=float, default=0.23, help="Reload the hyper-param alpha")
parser.add_argument("--inv_K", type=int, default=4, help="Reload the hyper-param inv_K")

# parse parameters
params = parser.parse_args()

# check parameters
assert params.src_lang, "source language undefined"
assert os.path.isfile(params.src_emb)
assert not params.tgt_lang or os.path.isfile(params.tgt_emb)
assert params.dico_eval == 'default' or os.path.isfile(params.dico_eval)

# build logger / model / trainer / evaluator
logger = initialize_exp(params)
src_emb, tgt_emb, mapping, _ = build_model(params, False)
trainer = Trainer(src_emb, tgt_emb, mapping, None, params)
evaluator = Evaluator(trainer)

# run evaluations
to_log = OrderedDict({'n_iter': 0})
if params.tgt_lang:
    evaluator.crosslingual_wordsim(to_log, 'row')
    evaluator.word_translation(to_log,  'row')
    evaluator.dist_mean_cosine(to_log,  'row')