diff --git a/scratch/etienne/intersimple/data/generate.sh b/scratch/etienne/intersimple/data/generate.sh index d7387b2..8f42757 100755 --- a/scratch/etienne/intersimple/data/generate.sh +++ b/scratch/etienne/intersimple/data/generate.sh @@ -1,7 +1,9 @@ #python -m expert --env=IntersimpleReward --min_timesteps=200 --env_args='{agent:51}' --path='NormalizedIntersimpleExpert_IntersimpleRewardAgent51.pkl' #python -m expert --env=IntersimpleReward --min_timesteps=200 --env_args='{agent:51}' --policy_args='{mu:0.005}' --path='NormalizedIntersimpleExpert_IntersimpleRewardAgent51Mu.005.pkl' #python -m expert --env=IntersimpleReward --min_timesteps=200 --env_args='{agent:51}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpert_IntersimpleRewardAgent51Mu.001.pkl' -python -m expert --env=NRasterized --min_timesteps=200 --env_args='{agent:51,width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001_NRasterizedAgent51w36h36mppx2.pkl' -# python -m expert --env=NRasterizedRandomAgent --min_timesteps=10000 --env_args='{width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001N10000_NRasterizedRandomAgentw36h36mppx2.pkl' +#python -m expert --env=NRasterized --min_timesteps=200 --env_args='{agent:51,width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001_NRasterizedAgent51w36h36mppx2.pkl' #python -m expert --env=NRasterized --min_timesteps=200 --env_args='{agent:51,width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001_NRasterizedAgent51w36h36mppx2.pkl' #python -m expert --env=NRasterized --min_timesteps=3000 --video --env_args='{width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001_NRasterizedRandomAgentw36h36mppx2.pkl' +#python -m expert --env=NRasterizedRandomAgent --min_timesteps=200 --env_args='{width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001_NRasterizedRandomAgentw36h36mppx2.pkl' +#python -m expert --env=NRasterizedRandomAgent --min_timesteps=10000 --env_args='{width:36,height:36,m_per_px:2}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001N10000_NRasterizedRandomAgentw36h36mppx2.pkl' +python -m expert --env=NRasterizedRouteRandomAgent --min_timesteps=10000 --env_args='{width:70,height:70,m_per_px:1}' --policy_args='{mu:0.001}' --path='NormalizedIntersimpleExpertMu.001N10000_NRasterizedRouteRandomAgentw70h70mppx1.pkl' diff --git a/scratch/etienne/intersimple/gail_options_image_random.py b/scratch/etienne/intersimple/gail_options_image_random.py index ac67a4e..23d39cc 100644 --- a/scratch/etienne/intersimple/gail_options_image_random.py +++ b/scratch/etienne/intersimple/gail_options_image_random.py @@ -4,7 +4,7 @@ from imitation.algorithms import adversarial import stable_baselines3 import torch.utils.data import numpy as np -from intersim.envs.intersimple import NRasterizedRandomAgent +from intersim.envs.intersimple import NRasterizedRouteRandomAgent import itertools from torch.distributions import Categorical import gym @@ -21,12 +21,12 @@ from gail.options import OptionsEnv, LLOptions, HLOptions, RenderOptions from gail.train import train_discriminator, train_generator model_name = 'gail_options_image_random' -env_settings = {'width': 36, 'height': 36, 'm_per_px': 2} +env_settings = {'width': 70, 'height': 70, 'm_per_px': 1} ALL_OPTIONS = [(v,t) for v in [0,2,4,6,8] for t in [5, 10, 20]] # option 0 is safe fallback def train(expert_data, epochs=20, expert_batch_size=32, generator_steps=1024, discount=0.99): - env = NRasterizedRandomAgent(**env_settings) + env = NRasterizedRouteRandomAgent(**env_settings) env.discount = discount tempdir = tempfile.TemporaryDirectory(prefix="quickstart") @@ -34,7 +34,7 @@ def train(expert_data, epochs=20, expert_batch_size=32, generator_steps=1024, di logger.configure(tempdir_path / "GAIL/") print(f"All Tensorboards and logging are being written inside {tempdir_path}/.") - venv = make_vec_env(NRasterizedRandomAgent, n_envs=1, env_kwargs=env_settings) + venv = make_vec_env(NRasterizedRouteRandomAgent, n_envs=1, env_kwargs=env_settings) discriminator = adversarial.GAIL( expert_data=expert_data, expert_batch_size=expert_batch_size, @@ -68,7 +68,7 @@ def train(expert_data, epochs=20, expert_batch_size=32, generator_steps=1024, di if __name__ == '__main__': # %% - with open("data/NormalizedIntersimpleExpertMu.001N10000_NRasterizedRandomAgentw36h36mppx2.pkl", "rb") as f: + with open("data/NormalizedIntersimpleExpertMu.001N10000_NRasterizedRouteRandomAgentw70h70mppx1.pkl", "rb") as f: trajectories = pickle.load(f) transitions = rollout.flatten_trajectories(trajectories) generator = train(transitions, epochs=100) @@ -78,7 +78,7 @@ if __name__ == '__main__': # %% model = stable_baselines3.PPO.load(model_name) - env = RenderOptions(NRasterizedRandomAgent(**env_settings)) + env = RenderOptions(NRasterizedRouteRandomAgent(**env_settings)) for s in env.sample_ll(model): if s['dones']: