Search Issue Tracker

Active

Votes

0

Found in [Package]

1.1.0-preview

Issue ID

MLA-1145

Regression

No

Passing --num-envs without --env causes a confusing error

Package: ML-Agents

-

From https://github.com/Unity-Technologies/ml-agents/issues/4194

Repro:
Run e.g. "mlagents-learn config/ppo/WallJump.yaml --run-id=WallJumper --num-envs=2". This is an invalid combination of arguments; either --env should be passed, or --num-envs should be omitted.

{noformat}
Traceback (most recent call last):
File "c:\users\gdev\anaconda3\envs\rl\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\gdev\anaconda3\envs\rl\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\gdev\anaconda3\envs\rl\Scripts\mlagents-learn.exe\__main__.py", line 7, in <module>
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\learn.py", line 322, in main
run_cli(parse_command_line())
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\learn.py", line 318, in run_cli
run_training(run_seed, options)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\learn.py", line 163, in run_training
tc.start_learning(env_manager)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents_envs\timers.py", line 305, in wrapped
return func(*args, **kwargs)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\trainer_controller.py", line 243, in start_learning
raise ex
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\trainer_controller.py", line 214, in start_learning
self._reset_env(env_manager)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents_envs\timers.py", line 305, in wrapped
return func(*args, **kwargs)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\trainer_controller.py", line 150, in _reset_env
env.reset(config=sampled_reset_param)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\env_manager.py", line 67, in reset
self.first_step_infos = self._reset_env(config)
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\subprocess_env_manager.py", line 295, in _reset_env
ew.previous_step = EnvironmentStep(ew.recv().payload, ew.worker_id, {}, {})
File "c:\users\gdev\anaconda3\envs\rl\lib\site-packages\mlagents\trainers\subprocess_env_manager.py", line 92, in recv
raise env_exception
mlagents_envs.exception.UnityEnvironmentException: If the environment name is None, the worker-id must be 0 in order to connect with the Editor.
{noformat}

We should either raise an exception earlier, or ignore --num-envs when connecting to the editor.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.