In [1]:
import keras
import pandas as pd
import numpy as np
import matchzoo as mz
import json
print('matchzoo version', mz.__version__)
print()
In [2]:
print('data loading ...')
train_pack_raw = mz.datasets.wiki_qa.load_data('train', task='ranking')
dev_pack_raw = mz.datasets.wiki_qa.load_data('dev', task='ranking', filtered=True)
test_pack_raw = mz.datasets.wiki_qa.load_data('test', task='ranking', filtered=True)
print('data loaded as `train_pack_raw` `dev_pack_raw` `test_pack_raw`')
In [3]:
ranking_task = mz.tasks.Ranking(loss=mz.losses.RankHingeLoss())
ranking_task.metrics = [
mz.metrics.NormalizedDiscountedCumulativeGain(k=3),
mz.metrics.NormalizedDiscountedCumulativeGain(k=5),
mz.metrics.MeanAveragePrecision()
]
print("`ranking_task` initialized with metrics", ranking_task.metrics)
In [4]:
print("loading embedding ...")
glove_embedding = mz.datasets.embeddings.load_glove_embedding(dimension=300)
print("embedding loaded as `glove_embedding`")
In [5]:
def append_params_to_readme(model):
import tabulate
with open('README.rst', 'a+') as f:
subtitle = model.params['model_class'].__name__
line = '#' * len(subtitle)
subtitle = subtitle + '\n' + line + '\n\n'
f.write(subtitle)
df = model.params.to_frame()[['Name', 'Value']]
table = tabulate.tabulate(df, tablefmt='rst', headers='keys') + '\n\n'
f.write(table)