facebookresearch / CollaQ

A code implementation for our arXiv paper "Multi-agent Adhoc Team Play using Decompositional Q function"
Other
127 stars 24 forks source link

There is something wrong #12

Open zhoushiyang12 opened 3 years ago

zhoushiyang12 commented 3 years ago

when I run python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z, (note ,) raise error : [ERROR 23:02:44] pymarl Failed after 0:00:00! Traceback (most recent calls WITHOUT Sacred internals): File "src/main.py", line 35, in my_main run(_run, config, _log) File "/media/ps/data/StarCraft2/CollaQ/src/run.py", line 48, in run run_sequential(args=args, logger=logger) File "/media/ps/data/StarCraft2/CollaQ/src/run.py", line 78, in run_sequential runner = r_REGISTRY[args.runner](args=args, logger=logger) File "/media/ps/data/StarCraft2/CollaQ/src/runners/episode_runner.py", line 15, in init self.env = env_REGISTRYself.args.env File "/media/ps/data/StarCraft2/CollaQ/src/envs/init.py", line 7, in env_fn return env(**kwargs) File "/media/ps/data/StarCraft2/CollaQ/src/smac/env/starcraft2/starcraft2.py", line 198, in init map_params = get_map_params(self.map_name[0]) File "/media/ps/data/StarCraft2/CollaQ/src/smac/env/starcraft2/maps/init.py", line 10, in get_map_params return map_param_registry[map_name] KeyError: 'M' Then I found that You can change " self.map_name = map_name " to " self.map_name = [map_name]" in " src/smac/env/starcraft2/starcraft2.py line 196"

And then run python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z

4ever-Rain commented 3 years ago

Got the same problem. I had changed " self.map_name = map_name " to " self.map_name = [map_name]" as you suggested and found out that it worked when I ran the program for a single map. However, the program failed when I attempted to run it for multiple maps. python src/main.py --config=qmix_interactive_reg_attn --env-config=sc2 with env_args.map_name=27m_vs_30m,28m_vs_30m(without ',')obs_agent_id=False

I think there are some errors in " src/smac/env/starcraft2/starcraft2.py line 196". The core problem is that map_name is a string or not a list. (run in python 3.6.13) Any advice? @tianjunz8821

KeyError: 'M' Then I found that You can change " self.map_name = map_name " to " self.map_name = [map_name]" in " src/smac/env/starcraft2/starcraft2.py line 196"

And then run python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z