Example #1
0
def callback(iters, current, env):
    print 'Callback: ', iters

    # get all traces
    env.updategui = False
    traces = env.evaluate_policy(current)
    env.updategui = True
    pickle.dump(traces, open('traces{0}.pck'.format(iters), 'w'),
                pickle.HIGHEST_PROTOCOL)

    # measure task performance
    avg_reward = 0
    for t in traces:
        avg_reward += sum([i[2] for i in t])
    avg_reward = avg_reward / float(len(traces))
    print 'Avg reward: ', avg_reward

    # find current embedding
    ematrix = np.zeros((512, 512))
    for (i, t) in enumerate(traces):
        for (j, s) in enumerate(traces):
            ematrix[i,
                    j] = edit_distance_vc([e[1] for e in t], [l[1] for l in s],
                                          (1.0, 1.0, 1.2))
    pickle.dump(ematrix, open('ematrix{0}.pck'.format(iters), 'w'),
                pickle.HIGHEST_PROTOCOL)
    y, s, adj = isomap(ematrix)
    if len(y) < 512:
        # fallback to mds if more than 1 connected component
        print "More than 1 CC - Falling back to MDS"
        y, s = mds(ematrix)
        adj = None

    # plot stuff later because of pylab / pygame incompat on mac
    # save embedding image - multiple formats?
    #scatter(y[:,0],y[:,1], filename='scatter{0}.pdf'.format(iters))

    # save scree plot
    #plot(s[:10], filename='scree{0}.pdf'.format(iters))

    # procrustes error
    gt = env.coords_array()
    err = procrustes(gt, y)
    print "Procrustes ", err

    pickle.dump((iters, err, gt, avg_reward, current, y, s, adj),
                open('misc{0}.pck'.format(iters), 'w'),
                pickle.HIGHEST_PROTOCOL)

    env.save('iter{0}.png'.format(iters))
Example #2
0
    # ogw.set_heatmap(obs)
    # pdb.set_trace()
    # ogw.phi(0,0,sparse=False)

    pdb.set_trace()
    traces = ogw.evaluate_func_policy(ogw.perfect_policy)
    pickle.dump(traces, open("perf_pca_traces_center.pck", "w"),
                pickle.HIGHEST_PROTOCOL)
    traces = pickle.load(open("perf_pca_traces_center.pck"))
    from dtw import edit_distance_vc

    ematrix = np.zeros((512, 512))
    for (i, t) in enumerate(traces):
        for (j, s) in enumerate(traces):
            ematrix[i,
                    j] = edit_distance_vc([e[1] for e in t], [l[1] for l in s],
                                          (1.0, 1.0, 2.0))

    # print ematrix
    pickle.dump(ematrix, open("ematrix4.pck", "w"), pickle.HIGHEST_PROTOCOL)
    ematrix = pickle.load(open('ematrix4.pck'))
    # from mds import mds
    # pdb.set_trace()
    # y,s = mds(ematrix)
    # #from utils import scatter
    # #scatter(y[:,0],y[:,1])
    # import pylab
    # pylab.plot(y[:,0],y[:,1])
    # pylab.savefig('test3.png')

    # ogw.background()
    # ogw.mainloop()
Example #3
0
    # s = np.zeros(ogw.nstates)
    # s[:ogw.nstates/2] = 10.0
    # ogw.set_heatmap(obs)
    # pdb.set_trace()
    # ogw.phi(0,0,sparse=False)

    pdb.set_trace()
    traces = ogw.evaluate_func_policy(ogw.perfect_policy)
    pickle.dump(traces, open("perf_pca_traces_center.pck","w"),pickle.HIGHEST_PROTOCOL)
    traces = pickle.load(open("perf_pca_traces_center.pck"))
    from dtw import edit_distance_vc

    ematrix = np.zeros((512,512))
    for (i,t) in enumerate(traces):
        for (j,s) in enumerate(traces):
                ematrix[i,j] = edit_distance_vc([e[1] for e in t], [l[1] for l in s], (1.0, 1.0, 2.0))

    # print ematrix
    pickle.dump(ematrix, open("ematrix4.pck","w"), pickle.HIGHEST_PROTOCOL)
    ematrix = pickle.load(open('ematrix4.pck'))
    # from mds import mds
    # pdb.set_trace()
    # y,s = mds(ematrix)
    # #from utils import scatter
    # #scatter(y[:,0],y[:,1])
    # import pylab
    # pylab.plot(y[:,0],y[:,1])
    # pylab.savefig('test3.png')


    # ogw.background()
Example #4
0
            if r:
                sucesses.append(i)
            else:
                failures.append(i)

        # print sucesses
        # print failures

        # s = np.zeros(ogw.nstates)
        # for (l,i) in result.items():
        #     s[l] = i
        # ogw.set_heatmap(s)

        ogw.mainloop()

    if False:

        traces = pickle.load(open("perf_pca_traces_center.pck"))

        ematrix = np.zeros((512, 512))
        for (i, t) in enumerate(traces):
            for (j, s) in enumerate(traces):
                ematrix[i, j] = edit_distance_vc([e[1] for e in t],
                                                 [l[1] for l in s],
                                                 (1.0, 1.0, 1.2))

        pickle.dump(ematrix, open("ematrix.pck", "w"), pickle.HIGHEST_PROTOCOL)
        ematrix = pickle.load(open('ematrix.pck'))

        inscatter(isomap(ematrix))