def play_game_with_visualization(network_name='cluster_net', points_name='large_visualization'):
    game = toy_mr.ToyMR('../mr_maps/four_rooms.txt')
    network.saver.restore(network.sess, './'+network_name+'.ckpt')
    scatter_points = np.load('./'+points_name+'.npy')
    f, ax = plt.subplots()
    while True:
        if game.is_current_state_terminal():
            game.reset_environment()
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP:
                    action = toy_mr.NORTH
                elif event.key == pygame.K_DOWN:
                    action = toy_mr.SOUTH
                elif event.key == pygame.K_RIGHT:
                    action = toy_mr.EAST
                elif event.key == pygame.K_LEFT:
                    action = toy_mr.WEST
                else:
                    action = -1

                if action != -1:
                    game.perform_action(action)
                    state = game.get_current_state()[0]
                    plt.pause(1)
                    ax.cla()
                    ax.scatter(scatter_points[:, 0], scatter_points[:, 1], color='blue')
                    [e1] = network.sess.run([network.e1], feed_dict={network.inp_state1: [state]})
                    ax.scatter(e1[:, 0], e1[:, 1], color='red')
                    plt.draw()
Example #2
0
def setup_toy_mr_env():
    env = toy_mr.ToyMR('../mr_maps/full_mr_map.txt',
                       max_lives=5,
                       repeat_action_probability=0.25,
                       use_gui=use_gui)
    num_actions = len(env.get_actions_for_state(None))
    return env, num_actions
Example #3
0
def setup_four_rooms_env():
    env = toy_mr.ToyMR('../mr_maps/four_rooms.txt', max_num_actions=10000)
    num_actions = len(env.get_actions_for_state(None))
    return env, num_actions
Example #4
0
def setup_toy_mr_env():
    env = toy_mr.ToyMR('../mr_maps/full_mr_map.txt')
    num_actions = len(env.get_actions_for_state(None))
    return env, num_actions
Example #5
0
import numpy as np
import pygame
import tqdm

import toy_mr
import toy_mr_encoder
import pc_cts

map_file = '../mr_maps/full_mr_map.txt'
game = toy_mr.ToyMR(map_file)

print('Collecting data...')
states = []
for i in range(0, 10000):
    if game.is_current_state_terminal():
        game.reset_environment()
    states.append(toy_mr_encoder.encode_toy_mr_state(game))
    action = np.random.choice([0, 1, 2, 3])
    game.perform_action(action)

print('Training...')
cts = pc_cts.LocationDependentDensityModel((11, 11), lambda x, y: x,
                                           pc_cts.L_shaped_context)
for i in tqdm.trange(1000):
    ii = np.random.randint(0, len(states))
    cts.update(states[ii])

print('Ready!')
game.reset_environment()
running = True
while running:
def setup_toy_mr_env():
    env = toy_mr.ToyMR('./mr_maps/full_mr_map.txt', abstraction_file='./mr_maps/full_mr_map_abs.txt', use_gui=True)
    num_actions = len(env.get_actions_for_state(None))
    return env, num_actions