import json
import numpy as np
import pylab as P
from pprint import pprint
%matplotlib inline
with open('./default.json') as f:
data = json.load(f)
pprint(data.keys())
[u'loss', u'num_rel', u'name', u'num_bad', u'max_epoch', u'batch_size', u'emb_dim', u'num_ent', u'lr', u'num_examples', u'num_cor', u'hit_rate', u'mean_rank']
P.close()
P.figure()
fig, axarr = P.subplots(4, sharex=True, figsize=(14,12))
axarr[0].set_title("Training history at epoch %s with embedding dim=%s, lr=%s, batch_size=%s, num_corrupted=%s" % (data['max_epoch'], data['emb_dim'], data['lr'], data['batch_size'], data['num_cor']))
axarr[0].plot(data['loss'])
axarr[0].set_ylabel('average batch loss')
axarr[1].plot(data['num_bad'])
axarr[1].set_ylabel('average batch # examples exceeding margin')
axarr[2].plot(data['mean_rank'])
axarr[2].set_ylabel('mean rank on validation set')
axarr[3].plot(data['hit_rate'])
axarr[3].set_ylabel('hit rate@10 on validation set')
axarr[3].set_xlabel('epoch')
for i in range(4):
axarr[i].set_yscale('log')
fig.tight_layout()
<matplotlib.figure.Figure at 0x106717290>