Example #1
0
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)
Example #2
0
    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)

Example #3
0
    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)