def main(argv): """ Main function, check module docstring. """ (N_TRAIN, T, delete_node_period, max_edge_age) = (1000, 0.6, 100, 30) if len(argv) >= 2: N_TRAIN = int(argv[1]) if len(argv) >= 3: T = int(argv[2]) if len(argv) >= 4: delete_node_period = int(argv[3]) if len(argv) >= 5: max_edge_age = int(argv[4]) if len(argv) >= 6: print("""Usage: ./train_charades.py [N_train] [threshold] [delete_node period] [max_edge_age]""") raise IndexError im_write = True dumpfile = 'outputs/soinn{0}_{1}_{2}_{3}.dump'.format( N_TRAIN, delete_node_period, max_edge_age, int(100 * T)) # If a SOINN node already exist for those parameters, use it. try: soinn_i = joblib.load(dumpfile) except: # If no SOINN already exist, define the dataset according to SOINN parameters dataset, video_used = prepare_dataset(N_TRAIN, T) with open('video_used_{}_{}'.format(N_TRAIN, int(100 * T)), 'w') as f: for title in video_used: f.write('{}\n'.format(title)) print('New SOINN is created.') soinn_i = Soinn(delete_node_period=delete_node_period, max_edge_age=max_edge_age) learning(soinn_i, dataset) soinn_i.print_info() soinn_i.save(dumpfile) if im_write: dir_name = "clusters_{0}_{1}_{2}_{3}".format(N_TRAIN, delete_node_period, max_edge_age, int(100 * T)) if not os.path.exists(dir_name): os.makedirs(dir_name) os.chdir(dir_name) for i, node in enumerate(soinn_i.nodes): print(node) draw_pose(node, im_write, i, im_show=False)
plt.xlim(0,28) plt.ylim(0,28) plt.pcolor(Z) plt.title("title=%s"%(title), size=8) plt.gray() plt.tick_params(labelbottom="off") plt.tick_params(labelleft="off") if __name__ == '__main__': dataset = prepare_dataset() N_TRAIN = 5000 delete_node_period = 100 max_edge_age = 30 x_train, y_train, x_test, y_test = split_dataset(dataset, N_TRAIN) dumpfile = 'soinn{0}_{1}_{2}.dump'.format(N_TRAIN, delete_node_period, max_edge_age) try: import joblib soinn_i = joblib.load(dumpfile) except: print('New SOINN is created.') soinn_i = Soinn(delete_node_period=delete_node_period, max_edge_age=max_edge_age) learning(soinn_i, x_train, y_train) evaluate(soinn_i, x_test, y_test) #visualise(soinn_i.nodes) soinn_i.print_info() soinn_i.save(dumpfile)
Z = Z[::-1, :] # flip vertical plt.xlim(0, 28) plt.ylim(0, 28) plt.pcolor(Z) plt.title("title=%s" % (title), size=8) plt.gray() plt.tick_params(labelbottom="off") plt.tick_params(labelleft="off") if __name__ == '__main__': dataset = prepare_dataset() N_TRAIN = 5000 delete_node_period = 100 max_edge_age = 30 x_train, y_train, x_test, y_test = split_dataset(dataset, N_TRAIN) dumpfile = 'soinn{0}_{1}_{2}.dump'.format(N_TRAIN, delete_node_period, max_edge_age) try: import joblib soinn_i = joblib.load(dumpfile) except: print('New SOINN is created.') soinn_i = Soinn(delete_node_period=delete_node_period, max_edge_age=max_edge_age) learning(soinn_i, x_train, y_train) evaluate(soinn_i, x_test, y_test) #visualise(soinn_i.nodes) soinn_i.print_info() soinn_i.save(dumpfile)