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