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))
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],
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))