Exemplo n.º 1
0
def get_data():
  x_train_batch, y_train_batch = f.inputs([f.TRAIN_TF_RECORDS_FILE], name="train")
  x_test_batch, y_test_batch = f.inputs([f.TEST_TF_RECORDS_FILE], name="test")
  
  out = {
    'traX'  : x_train_batch,
    'traY'  : y_train_batch, 
    'tstX'  : x_train_batch,
    'tstY'  : y_train_batch 
  }
  return out
Exemplo n.º 2
0
def get_data(constants):
    x_train_batch, y_train_batch = f.inputs([f.TRAIN_TF_RECORDS_FILE],
                                            shuffle=constants['SHUFFLE'],
                                            name="train")
    x_test_batch, y_test_batch = f.inputs([f.TEST_TF_RECORDS_FILE],
                                          shuffle=constants['SHUFFLE'],
                                          name="test")

    out = {
        'traX': x_train_batch,
        'traY': y_train_batch,
        'tstX': x_train_batch,
        'tstY': y_train_batch
    }
    return out
Exemplo n.º 3
0
def train():
    c = constants()
    p = params()

    x, y = f.inputs([f.TRAIN_TF_RECORDS_FILE], shuffle=True, name='inputs')
    u.shape_log(x)
    u.shape_log(y)

    logits = model(x, c)

    logits = tf.reshape(logits, [-1, c.MAX_TIME, f.OUTPUT_DIM])
    labels = tf.reshape(y, [-1, c.MAX_TIME, f.OUTPUT_DIM])

    loss = tf.reduce_mean(tf.square(logits - labels))

    train_op = tf.train.AdamOptimizer(learning_rate=0.05).minimize(
        loss, global_step=p.global_step)
    init_op = tf.global_variables_initializer()

    with tf.Session() as sess:

        # initialize global variables
        sess.run(init_op)

        # enable batch fetchers
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(coord=coord)

        #setup saver
        saver = u.saver_ops(sess=sess,
                            max_to_keep=3,
                            global_step=p.global_step)

        eng = mo.matlab_connection(c.MATLAB_SESSION)

        # run the training operation
        for indx in range(20000):
            _, log = sess.run([train_op, logits])
            # logi.append(log)

            u.display_update(indx, 25)

            if ((indx + 1) % 2000 == 0):
                saver.save()

            if ((indx) % 5 == 0):
                # CHECK EMERGENCY STOP
                if eng.should_stop():
                    print('stopping')
                    break

        # connect to matlab
        # eng = mo.matlab_connection(c.MATLAB_SESSION)
        # eng.put_var('logits', logi)

        saver.save()
        coord.request_stop()
        coord.join(threads)
Exemplo n.º 4
0
def train():
    c = constants()
    p = params()

    x, y = f.inputs([f.TRAIN_TF_RECORDS_FILE], name='inputs')
    u.shape_log(x)
    u.shape_log(y)

    logits = model(x, c)

    labels = tf.reshape(y, [c.MAX_TIME])

    loss = tf.reduce_mean(tf.square(logits - labels))

    train_op = tf.train.AdamOptimizer(learning_rate=0.05).minimize(
        loss, global_step=p.global_step)
    init_op = tf.global_variables_initializer()

    with tf.Session() as sess:

        # initialize global variables
        sess.run(init_op)

        # enable batch fetchers
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(coord=coord)

        #setup saver
        saver = u.saver_ops(sess=sess,
                            max_to_keep=3,
                            global_step=p.global_step)

        logi = []

        # run the training operation
        for indx in range(10000):
            _, log = sess.run([train_op, logits])
            logi.append(log)

            u.display_update(indx, 50)

        # connect to matlab
        eng = mo.matlab_connection(c.MATLAB_SESSION)
        eng.put_var('logits', logi)

        saver.save()
        coord.request_stop()
        coord.join(threads)
Exemplo n.º 5
0
def test():
    c = constants()
    p = params()

    # connect to matlab
    eng = mo.matlab_connection(c.MATLAB_SESSION)

    x, y = f.inputs([f.TEST_TF_RECORDS_FILE], shuffle=True, name='inputs')
    u.shape_log(x)
    u.shape_log(y)

    logits = model(x, c)
    logits = tf.reshape(logits, [-1, c.MAX_TIME, f.OUTPUT_DIM])
    labels = tf.reshape(y, [-1, c.MAX_TIME, f.OUTPUT_DIM])

    init_op = tf.global_variables_initializer()

    with tf.Session() as sess:

        # initialize global variables
        sess.run(init_op)

        # enable batch fetchers
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(coord=coord)

        #setup saver
        saver = u.saver_ops(sess=sess,
                            max_to_keep=3,
                            global_step=p.global_step)

        logi = []
        labs = []

        # run the training operation
        for indx in range(6):
            log, lab = sess.run([logits, labels])
            logi.append(log)
            labs.append(lab)

            u.display_update(indx, 250)

        eng.put_var('logits', logi)
        eng.put_var('labels', labs)

        coord.request_stop()
        coord.join(threads)