def write_scenes(fname):
    dic = read_json(fname)

    folder = dic['folder']
    fname = dic['filename']
    print "Initializing a scene from " + folder
    BB_ts_list, width, height = process_data.get_BB_ts_list(folder,
                                                            label="Biker")

    params = read_json("params.json")
    print params['nfold']
    kf = KFold(n_splits=params['nfold'])

    def mkdir(fname):
        try:
            os.mkdir(fname)
        except:
            pass

    mkdir(join("scenes", fname))
    mkdir(join("scenes", fname, "scenes"))
    mkdir(join("scenes", fname, "sets"))
    mkdir(join("scenes", fname, "train_sets"))

    print[x.shape for x in BB_ts_list]

    for j, (train_set, test_set) in enumerate(kf.split(BB_ts_list)):
        train_set = [
            x[1]
            for x in filter(lambda x: x[0] in train_set, enumerate(BB_ts_list))
        ]
        test_set = [
            x[1]
            for x in filter(lambda x: x[0] in test_set, enumerate(BB_ts_list))
        ]

        test_scene = Scene(train_set, width, height)
        #print "Display clusters"
        #for k in range( test_scene.num_nl_classes ):
        #    from visualization_routines import visualize_cluster
        #    visualize_cluster( test_scene, k )

        print "P(k) = "
        print test_scene.P_of_c

        print "\sum_k P(k) = {}".format(test_scene.P_of_c.sum())
        print "Pickling scene and test set."

        with open(join("scenes", fname, "scenes", "{}.pkl").format(j),
                  "w") as f:
            pickle.dump(test_scene, f)
            print "Pickled scene"

        with open(join("scenes", fname, "sets", "{}.pkl").format(j), "w") as f:
            pickle.dump(test_set, f)
            print "Pickled the test set with {} agents".format(len(test_set))
        with open(
                join("scenes", fname, "train_sets", "{}.pkl").format(j),
                "w") as f:
            pickle.dump(train_set, f)
            print "Pickled the test set with {} agents".format(len(train_set))
Esempio n. 2
0
        times_ret.append(times)
        #ax = plt.gca()
        #ax.set_ylim([-.1, 1.1])
        #ax.set_ylabel("AUC")
        #ax.set_xlabel("Frames")
        #ax.plot(times, aucs)
        #mkdir("images/{}".format(parad))
        #mkdir("images/{}/{}".format(parad, name))
        #mkdir("images/{}/{}/{}".format(parad, name, split))
        #plt.savefig("images/AUC_{}_{}_split_{}_{}.png".format(parad, name, split, agent))
        #plt.show()
    return aucs_ret, times_ret


from json_help import read_json
order = read_json("scene_order.json")['order']

indices = read_json(argv[1])['indices']
for ind in indices:
    fig = plt.figure()
    ax = fig.gca()
    ax.set_ylim([-.1, 1.1])
    ax.set_ylabel("AUC")
    ax.set_xlabel("Frames")
    if len(ind) < 4:
        inds = range(3)
    else:
        inds = ind[3]
    if 2 in inds:
        aucs, times = fn("kitani", ind[0], ind[1], [ind[2]])
        ax.plot(times[0],
Esempio n. 3
0
            scene.P_of_c = np.ones_like(scene.P_of_c) / float(len(
                scene.P_of_c))
            scenes.append(scene)

    elif file.endswith("set.pkl"):
        with open(join("scenes", file), 'r') as f:
            sets.append(pickle.load(f))
scene = scenes[0]
set = sets[0]  #TODO: Probably should not use a python keyword here

random_sigmas = [
    learn_sigma_RW(curves) for curves in map(lambda x: map(bbts, x), sets)
]

from json_help import read_json
_dic = read_json(join("config", "scene_order.json"))
params = read_json("config.json")

all_data = []
_order = _dic['order']
for folder in _order:
    row = []
    for i in range(params['nfold']):
        num = "{}.pkl".format(i)
        with open(join("scenes", "{}", "scenes", "{}").format(folder, num),'r') as f, \
             open(join("scenes", "{}", "sets", "{}").format(folder, num),'r') as g, \
             open(join("scenes", "{}", "train_sets", "{}").format(folder, num),'r') as h:
            row.append((pickle.load(f), pickle.load(g), pickle.load(h)))

    assert len(row) == params['nfold']
    all_data.append(row)
        aucs.append(auc(fpr, tpr))

    plt.title("AUC vs time")
    ax = plt.gca()
    ax.set_ylim([-.1, 1.1])
    ax.set_ylabel("AUC")
    ax.set_xlabel("Frames")
    ax.plot(times, aucs)
    #plt.savefig("images/kitani/AUC_vs_t_for_{}.png".format(name))
    #plt.show()
    return aucs, times


from json_help import read_json

order = read_json("scene_order.json")['order']
params = read_json("params.json")

rng = ['death']
sm = lambda x, y: x + y
indexes = [0]
paths_kit = reduce(sm,
                   [["pickles/kitani/{}/{}/".format(x, j) for j in indexes]
                    for x in rng])
paths_ours = reduce(sm, [["pickles/ours/{}/{}/".format(x, j) for j in indexes]
                         for x in rng])
paths_lin = reduce(sm,
                   [["pickles/linear/{}/{}/".format(x, j) for j in indexes]
                    for x in rng])
paths_rand = reduce(sm, [["pickles/rand/{}/{}/".format(x, j) for j in indexes]
                         for x in rng])
import json
import os
from shutil import copy as cp


def mkdir(fname):
    try:
        os.mkdir(fname)
    except:
        pass


from json_help import read_json
dic = read_json("scene_order.json")
order = dic['order']
params = read_json("params.json")

for name in order:
    mkdir("kitani/{}".format(name))
    for ind in range(params['nfold']):
        mkdir("kitani/{}/{}".format(name, ind))
        mkdir("kitani/{}/{}/output".format(name, ind))
        mkdir("kitani/{}/{}/frames".format(name, ind))
        cp("kitani/{}_feat.xml".format(name),
           "kitani/{}/{}/walk_feature_maps.xml".format(name, ind))
        cp("kitani/{}_topdown.jpg".format(name),
           "kitani/{}/{}/walk_birdseye.jpg".format(name, ind))
        cp("kitani/{}_reward.txt".format(name),
           "kitani/{}/{}/walk_reward_weights.txt".format(name, ind))