Example #1
0
def get_params(args):
    params_manager = ParamsManager()
    agent_params = params_manager.get_agent_params()
    env_params = params_manager.get_env_params(args.env_params.lower())
    env_params['env_name'] = args.env_name

    custom_region_available = False
    for key, value in env_params['useful_region'].items():
        if key in env_params['env_name']:
            env_params['useful_region'] = value
            custom_region_available = True
            break
    if custom_region_available is not True:
        env_params['useful_region'] = env_params['useful_region']['Default']

    return agent_params, env_params
    action='store_true',
    default=False)
parser.add_argument(
    "--test",
    help="Tests a saved Agent model to see the performance. Disables learning",
    action='store_true',
    default=False)
parser.add_argument("--gpu-id",
                    help="GPU device ID to use. Default:0",
                    type=int,
                    default=0,
                    metavar="GPU_ID")
args = parser.parse_args()

global_step_num = 0
params_manager = ParamsManager(args.params_file)
agent_algo = "A2C"
summary_file_path_prefix = params_manager.get_agent_params(
)['summary_file_path_prefix']
summary_file_path = summary_file_path_prefix + agent_algo + '_' + args.env + "_" + datetime.now(
).strftime("%y-%m-%d-%H-%M")
writer = SummaryWriter(summary_file_path)
# Export the parameters as json files to the log directory to keep track of the parameters used in each experiment
params_manager.export_env_params(summary_file_path + "/" + "env_params.json")
params_manager.export_agent_params(summary_file_path + "/" +
                                   "agent_params.json")
use_cuda = params_manager.get_agent_params()['use_cuda']
# Introduced in PyTorch 0.4
device = torch.device(
    "cuda:" +
    str(args.gpu_id) if torch.cuda.is_available() and use_cuda else "cpu")
Example #3
0
    help="Renderiza el entorno en pantalla. Desactivado por defecto",
    action="store_true",
    default=False)
args.add_argument(
    "--record",
    help="Almacena videos y estados de la performance del agente",
    action="store_true",
    default=False)
args.add_argument(
    "--output-dir",
    help=
    "Directorio para almacenar los outputs. Por defecto = ./trained_models/results",
    default="./trained_models/results")
args = args.parse_args()

manager = ParamsManager(args.params_file)
summary_filename_prefix = manager.get_agent_params()['summary_filename_prefix']
summary_filename = summary_filename_prefix + args.env + datetime.now(
).strftime("%y-%m-%d-%H-%M")
writer = SummaryWriter(summary_filename)
manager.export_agent_params(summary_filename + "/" + "agent_params.json")
manager.export_environment_params(summary_filename + "/" +
                                  "environment_params.json")
global_step_num = 0
use_cuda = manager.get_agent_params()['use_cuda']
device = torch.device(
    "cuda:" +
    str(args.gpu_id) if torch.cuda.is_available() and use_cuda else "cpu")
seed = manager.get_agent_params()['seed']
torch.manual_seed(seed)
np.random.seed(seed)
Example #4
0
import gym
import cv2
import numpy as np
import math
import subprocess as sp

from gym import Wrapper
from gym.spaces import Box
from collections import deque

env_name = "SuperMarioBros-1-1-v0"
env_params = "super_mario"
action = 2

params_manager = ParamsManager.getInstance()
env_params = params_manager.get_env_params(env_params)
env_params['useful_region'] = env_params['useful_region']['Default']
env_params['env_name'] = env_name
env_params['record'] = True

env, num_states, num_actions = make_train_env(env_params)

env.reset()

for _ in range(10000):
    observation, reward, done, info = env.step(env.action_space.sample())
    ## Imagen Modificada
    plt.imshow(np.array(np.squeeze(observation[0][0])))
    plt.show(block=False)
    plt.pause(1)
args.add_argument(
    "--params-file",
    help="Path to the parameters json file. Default is parameters.json",
    default="parameters.json",
    type=str,
    metavar="PFILE")
args.add_argument(
    "--env-name",
    help=
    "ID of the Atari environment available in OpenAI Gym. Default is Pong-v0",
    default="Pong-v0",
    type=str,
    metavar="ENV")
args = args.parse_args()

params_manager = ParamsManager(args.params_file)
seed = params_manager.get_agent_params()['seed']
summary_file_path_prefix = params_manager.get_agent_params(
)['summary_file_path_prefix']
summary_file_path = summary_file_path_prefix + args.env_name + "_" + datetime.now(
).strftime("%y-%m-%d-%H-%M")
writer = SummaryWriter(summary_file_path)
# Export the parameters as json files to the log directory to keep track of the parameters used in each experiment
params_manager.export_env_params(summary_file_path + "/" + "env_params.json")
params_manager.export_agent_params(summary_file_path + "/" +
                                   "agent_params.json")
global_step_num = 0
use_cuda = params_manager.get_agent_params()['use_cuda']
# new in PyTorch 0.4
device = torch.device(
    "cuda" if torch.cuda.is_available() and use_cuda else "cpu")
Example #6
0
                  metavar="ROM")
args.add_argument(
    "--test",
    help=
    "Modo de testing para jugar sin aprender. Por defecto está desactivado",
    action="store_true",
    default=False)
args.add_argument(
    "--output-dir",
    help=
    " Directorio para almacenar los output. Por defecto = ./trained_models/results",
    default="./trained_models/results")
args = args.parse_args()

# Parámetros globales
manager = ParamsManager(args.params_file)

# Ficheros de logs acerca de la configuración de las ejecuciones
summary_filename_prefix = manager.get_agent_params()["summary_filename_prefix"]
summary_filename = summary_filename_prefix + args.rom + datetime.now(
).strftime("%y-%m-%d-%H-%M-%S")

# Exportación de la configuración del agente y el emulador durante cada ejecución
#manager.export_agent_params(summary_filename + "/" + "agent_params.json")
#manager.export_emulator_params(summary_filename + "/" + "emu_params.json")

# Contador global de las ejecuciones
global_step_num = 0

# Habilitar la semilla aleatoria para poder reproducir el experimento a posteriori
seed = manager.get_agent_params()["seed"]
Example #7
0
    action="store_true",
    default=False)
args.add_argument(
    "--record",
    help="Almacena videos y estados de la performance del agente",
    action="store_true",
    default=False)
args.add_argument(
    "--output-dir",
    help=
    "Directorio para almacenar los outputs. Por defecto = ./trained_models/results",
    default="./trained_models/results")
args = args.parse_args()

# Parametros globales
manager = ParamsManager(args.params_file)
agent_params = manager.get_agent_params()
global_step_num = 0

#Fichero del log
summary_filename_prefix = agent_params['summary_filename_prefix']
summary_filename = summary_filename_prefix + args.env + datetime.now(
).strftime("%y-%m-%d-%H-%M")

# Sumary writter de TBX
writer = SummaryWriter(summary_filename)

manager.export_agent_params(summary_filename + "/" + "agent_params.json")
manager.export_env_params(summary_filename + "/" + "env_params.json")

# Habilitar entranamiento por GPU