Skip to content

Bug fixes #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion environments/two_stage_train.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import copy

from ray.rllib.env import MultiAgentEnv
from ray.rllib.agents import ppo
try:
from ray.rllib.agents import ppo
except ImportError:
from ray.rllib.algorithms import ppo
from ray.rllib.utils.framework import try_import_tf, try_import_torch
from ray.rllib.env.apis.task_settable_env import TaskSettableEnv
import gym
Expand Down
2 changes: 1 addition & 1 deletion experiment_configs/cleanup-contracting.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"post_fcnet_hiddens": [64,64]
,"conv_filters":[[6,[3,3],1]]
},
"wandb":true,
"wandb":false,
"num_renders":5,
"solver": true,
"solver_samples":100
Expand Down
5 changes: 4 additions & 1 deletion run_render.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@

"""
import copy
from ray.rllib.agents import ppo
try:
from ray.rllib.agents import ppo
except ImportError:
from ray.rllib.algorithms import ppo
from PIL import Image
from utils.ray_config_utils import get_config_and_env
from environments.env_utils import make_video_from_rgb_imgs
Expand Down
5 changes: 4 additions & 1 deletion run_solver.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@


import copy
from ray.rllib.agents import ppo
try:
from ray.rllib.agents import ppo
except ImportError:
from ray.rllib.algorithms import ppo
from PIL import Image
from utils.ray_config_utils import get_config_and_env,get_neg_config,get_solver_config
from environments.env_utils import make_video_from_rgb_imgs
Expand Down
2 changes: 1 addition & 1 deletion run_training.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def ppo_learning(params_dict,config,wb_logger) :
del config['stop_cond']

analysis = ray.tune.tune.run('PPO',name=params_dict['exp_name'],stop=stop_condition,
config=config,callbacks=[wb_logger],local_dir=params_dict['results_dir'],
config=config,callbacks=[wb_logger],storage_path=params_dict['results_dir'],
num_samples=1, verbose=0 ,checkpoint_freq=10, checkpoint_at_end=True)

checkpoint_paths = []
Expand Down
11 changes: 6 additions & 5 deletions runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- `sequential_run(num_jobs, args, config_dict_list)`: Runs experiments sequentially with the specified number of jobs and configuration dictionaries.
- `mp_run(num_jobs, total_jobs, args, config_dict_list)`: Runs experiments in parallel using multiprocessing with the specified number of jobs, total jobs, and configuration dictionaries.

The script reads configuration settings from a JSON file and generates combinations of parameters for experiments. It also handles options for using GPUs and multiprocessing.
The script reads configuration settings from a JSON filxe and generates combinations of parameters for experiments. It also handles options for using GPUs and multiprocessing.
"""

import multiprocessing,time, os
Expand All @@ -23,13 +23,13 @@ def main_run(config,args,hook_start=True,hook_end=True) :

def get_args() :
parser= argparse.ArgumentParser()
parser.add_argument('--name' ,type = str , help= 'Name for campaign to run')
parser.add_argument('--name' ,type = str , default='cleanup-v1')
parser.add_argument('--mp',action='store_true',default=False,help='Whether to use multiprocesssing')
parser.add_argument('--workers', type = int , default=1, help = 'Only required if multiprocessing is true: Total number of workers, must be larger than the max worker requirement in the config dict')
parser.add_argument('--w_per_job', type = int , default=1 , help = 'Only required if multiprocessing is true: Total number of workers, must be larger than the max worker requirement in the config dict')
parser.add_argument('--gpu',action='store_true',default=False,help='Whether to use gpu')
parser.add_argument('--config_path' ,type = str , default=None , help= 'Name for campaign to run')
parser.add_argument('--results_dir',type =str, default = 'results/')
parser.add_argument('--config_path' ,type = str , default= 'experiment_configs/test.json')
parser.add_argument('--results_dir',type =str, help='add in absolute file path', default = '~/Programming/MARL_contracts/results/')
parser.add_argument('--load_second_stage',type=str,default=None)
parser.add_argument('--seeds',type=int,default=1)

Expand Down Expand Up @@ -80,6 +80,7 @@ def mp_run(num_jobs,total_jobs,args,config_dict_list) :

prev_alive = alive
time.sleep(30)

if __name__ =='__main__' :
# Get arguments
args = get_args()
Expand Down Expand Up @@ -155,7 +156,7 @@ def mp_run(num_jobs,total_jobs,args,config_dict_list) :
config_dict_list = copy.deepcopy(new_config_list )

if args.name is not None :
args.name += time.strftime("_%Y-%m-%d")
args.name += time.strftime("_%Y-%m-%d-%I:%M:%S")
args.results_dir += args.name
os.mkdir(args.results_dir)

Expand Down
4 changes: 2 additions & 2 deletions utils/ray_config_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import numpy as np
from utils.env_creator_functions import env_creator, get_base_env_tag
from utils.logger_utils import MetricsCallback
from ray.rllib.algorithms.callbacks import MultiCallbacks
from ray.rllib.algorithms.callbacks import make_multi_callbacks
from ray.rllib.models import ModelCatalog
from environments.Networks.vision_net import VisionNetwork

Expand Down Expand Up @@ -148,7 +148,7 @@ def get_config_and_env(params_dict):
if params_dict['shared_policy'] else (lambda agent_id, episode, worker, **kwargs: agent_id)
},

'callbacks': MultiCallbacks([lambda : MetricsCallback()]),
'callbacks': make_multi_callbacks([lambda : MetricsCallback()]),
'num_gpus': params_dict['num_gpus'],
'stop_cond': {'timesteps_total': params_dict.get("num_timesteps")}
}
Expand Down