예제 #1
0
def test(best=False):
    with tf.Session() as sess:
        agent = Agent(sess)
        agent.sess = sess
        SAVER.set_sess(sess)
        SAVER.load(agent, best)
        agent.env.set_render(True)
        agent.play(3)
예제 #2
0
from Displayer import DISPLAYER
from Saver import SAVER

import parameters

if __name__ == '__main__':

    tf.reset_default_graph()

    with tf.Session() as sess:

        agent = Agent(sess)
        SAVER.set_sess(sess)

        SAVER.load(agent)

        print("Beginning of the run")
        try:
            agent.run()
        except KeyboardInterrupt:
            pass
        print("End of the run")
        SAVER.save(agent.total_steps)
        DISPLAYER.disp()

        # agent.play(10)

        # agent.play(3, "results/gif/".format(parameters.ENV))

    agent.close()
예제 #3
0
        with tf.device("/cpu:0"):

            # Create the global network
            render = settings.DISPLAY
            master_agent = Agent(0, sess, render=render, master=True)

            # Create all the workers
            workers = []
            for i in range(settings.THREADS):
                workers.append(Agent(i + 1, sess, render=False))

        coord = tf.train.Coordinator()
        SAVER.set_sess(sess)

        SAVER.load()

        # Run threads that each contains one worker
        worker_threads = []
        for i, worker in enumerate(workers):
            print("Threading worker", i + 1)
            sleep(0.05)
            work = lambda: worker.work(sess, coord)
            t = threading.Thread(target=(work))
            t.start()
            worker_threads.append(t)
            sleep(0.1)

        try:
            # Wait till all the workers are done
            coord.join(worker_threads)
예제 #4
0
    device = "/cpu:0"
    stop_requested = False

    print("Creating the global network...")
    global_network = Network(0, device)
    env = Environment(True)

    # prepare session
    sess = tf.Session(config=tf.ConfigProto(log_device_placement=False,
                                            allow_soft_placement=True))

    sess.run(tf.global_variables_initializer())

    SAVER.set_sess(sess)
    settings.LOAD = True
    global_total_time, wall_time, total_eps, total_steps = SAVER.load()

    for i in range(NB_PLAY):
        done = False
        reward, step = 0, 0

        state = env.reset()
        global_network.reset_state()

        while not done:

            pi, value = global_network.run_policy_and_value(sess, state)
            a = np.random.choice(settings.ACTION_SIZE, p=pi)
            state, r, done, _ = env.act(a)

            reward += r
예제 #5
0
import tensorflow as tf

from Agent import Agent

from Displayer import DISPLAYER
from Saver import SAVER

import parameters

if __name__ == '__main__':

    tf.reset_default_graph()

    with tf.Session() as sess:

        agent = Agent(sess)
        SAVER.set_sess(sess)

        SAVER.load(agent, best=True)

        agent.play(1, "results/gif/".format(parameters.ENV))

    agent.close()