Пример #1
0
def showPicture(test_length, path):
    if not os.path.exists(path):
        os.makedirs(path)

    data_gen.init_data(task, test_length, 1, n_input)
    while len(data_gen.train_set[task][test_length])==0:
        test_length += 1
        data_gen.init_data(task, test_length, 1, n_input)
    data_gen.resetCounters()

    with tf.Graph().as_default(),tf.device('/cpu:0'):
        tester = DNGPU(n_hidden, [test_length], n_input, [1], n_output, dropout_keep_prob)
        tester.createTestGraph(test_length)
        saver = tf.train.Saver(tf.trainable_variables())

        with tf.Session() as sess:
            sess.run(tf.initialize_all_variables())
            saver.restore(sess, model_file)
            if not os.path.exists(path): os.makedirs(path)

            batch_xs, batch_ys = genTestData(test_length, 1)
            print batch_xs, batch_ys
            mem = tester.getAllMem(sess, batch_xs, batch_ys)
            mem = np.squeeze(mem, 1)

            width = mem.shape[1]
            height = mem.shape[0]
            for unit in range(n_hidden):
                img=np.zeros((height,width),dtype=np.float32)
                for x in range(width):
                    for y in range(height):
                        img[y,x]=mem[y, x,unit]

                mpimg.imsave(path+"/frame"+str(unit)+".png",img, cmap='gray')
Пример #2
0
# create execution trace images
showPicture(200, image_path)

# test generalization to longer examples
test_length = 7
test_examples = 1024

while test_length < max_test_length:
    if test_length > 4001: test_length = 4001
    if len(data_gen.test_set[task][test_length]) == 0:
        data_gen.init_data(task, test_length, test_data_size, n_input)
    while len(data_gen.test_set[task][test_length]) == 0:
        test_length += 1
        data_gen.init_data(task, test_length, test_data_size, n_input)

    data_gen.resetCounters()
    batchSize = 1
    if test_length < 2000: batchSize = 16
    if test_length < 800: batchSize = 128

    with tf.Graph().as_default():  #, tf.device('/cpu:0'):
        tester = DNGPU(n_hidden, [test_length], n_input, [batchSize], n_output,
                       dropout_keep_prob)
        tester.createTestGraph(test_length)
        saver = tf.train.Saver(tf.trainable_variables())

        with tf.Session() as sess:
            sess.run(tf.global_variables_initializer())
            saver.restore(sess, model_file)
            errors, seq_errors, total = 0, 0, 0
            for iter in range(test_examples // batchSize):