In [1]:
%pylab inline
In [2]:
log_folder = 'ik-learning/logs/gridsearch/'
tc = load('ik-learning/tc-150.npy')
In [3]:
import os
import glob
import pickle
from collections import defaultdict
logs = defaultdict(lambda: defaultdict(lambda: defaultdict(list)))
for im in IM:
for bab in BAB:
for sm in SM:
xps = glob.glob('{}/ik-xp-{}-{}-with-{}-*.logs'.format(log_folder, im, bab, sm))
l = []
for xp in xps:
with open(xp) as f:
l.append(pickle.load(f))
logs[im][bab][sm] = l
print len(l), 'log(s) found for', im, bab, sm
In [4]:
%pylab inline
from mpltools import special
def plot_one(im, bab, sm):
err = [xp.eval_errors for xp in logs[im][bab][sm]]
if not err:
return
err = array(err)
special.errorfill(x=xp.eval_at, y=err.mean(axis=-1).mean(axis=0),
yerr=err.std(axis=-1).mean(axis=0) / sqrt(len(err)))
ylim(0, 0.5)
from IPython.html.widgets import interact
interact(plot_one, **param)
In [15]:
def plot_compare(*poss):
[plot_one(im, bab, sm) for (im, bab, sm) in poss]
labels = ['{} {} using {}'.format(im, bab, sm) for (im, bab, sm) in poss]
legend(labels, loc='lower left')
In [16]:
plot_compare(('random', 'goal', 'knn'),
('random', 'motor', 'knn'),
('discretized_progress', 'goal', 'knn'))
In [17]:
plot_compare(('random', 'goal', 'ilo-gmm'),
('random', 'motor', 'ilo-gmm'),
('discretized_progress', 'goal', 'ilo-gmm'))
In [18]:
with open(log_folder + '/ik-xp-random-goal-with-knn-10.logs') as f:
goal_xp = pickle.load(f)
ax = axes()
#motor_xp.scatter_plot(ax, (('sensori', [1, 2]), ), color='r')
goal_xp.scatter_plot(ax, (('sensori', [0, 1]), ), color='b')
goal_xp.scatter_plot(ax, (('choice', [0, 1]), ), color='r', marker='+')
scatter(tc[:, 0], tc[:, 1], color='r', s=40)
Out[18]:
In [20]:
with open(log_folder + '/ik-xp-discretized_progress-goal-with-knn-3.logs') as f:
goal_xp = pickle.load(f)
ax = axes()
#motor_xp.scatter_plot(ax, (('sensori', [1, 2]), ), color='r')
goal_xp.scatter_plot(ax, (('sensori', [0, 1]), ), color='b')
goal_xp.scatter_plot(ax, (('choice', [0, 1]), ), color='r', marker='+')
scatter(tc[:, 0], tc[:, 1], color='r', s=40)
Out[20]:
In [21]:
with open('logs/ik-xp-random-motor-with-knn-12.logs') as f:
goal_xp = pickle.load(f)
ax = axes()
#motor_xp.scatter_plot(ax, (('sensori', [1, 2]), ), color='r')
goal_xp.scatter_plot(ax, (('sensori', [0, 1]), ), color='b')
#goal_xp.scatter_plot(ax, (('choice', [1, 2]), ), color='r')
scatter(tc[:, 0], tc[:, 1], color='r', s=40)
Out[21]: