RuntimeError: Trying to run '/pymarl/3rdparty/StarCraftII/Versions/Base71663/SC2_x64', but it isn't executable.
brownsugar123 opened this issue · 3 comments
brownsugar123 commented
When i enter this command
I got this error:
bash run.sh 'GPU' python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z
((src/main.py:79: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
config_dict = yaml.load(f)
src/main.py:49: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
config_dict = yaml.load(f)
[INFO 07:54:22] root Saving to FileStorageObserver in results/sacred.
[DEBUG 07:54:23] pymarl Using capture mode "fd"
[INFO 07:54:23] pymarl Running command 'my_main'
[INFO 07:54:23] pymarl Started run with ID "6"
[DEBUG 07:54:23] my_main Started
[WARNING 07:54:23] my_main CUDA flag use_cuda was switched OFF automatically because no CUDA devices are available!
[INFO 07:54:23] my_main Experiment Parameters:
[INFO 07:54:23] my_main
{ 'action_selector': 'epsilon_greedy',
'agent': 'rnn',
'agent_output_type': 'q',
'batch_size': 32,
'batch_size_run': 1,
'buffer_cpu_only': True,
'buffer_size': 5000,
'checkpoint_path': '',
'critic_lr': 0.0005,
'double_q': True,
'env': 'sc2',
'env_args': { 'continuing_episode': False,
'debug': False,
'difficulty': '7',
'game_version': None,
'heuristic_ai': False,
'heuristic_rest': False,
'map_name': '2s3z',
'move_amount': 2,
'obs_all_health': True,
'obs_instead_of_state': False,
'obs_last_action': False,
'obs_own_health': True,
'obs_pathing_grid': False,
'obs_terrain_height': False,
'obs_timestep_number': False,
'replay_dir': '',
'replay_prefix': '',
'reward_death_value': 10,
'reward_defeat': 0,
'reward_negative_scale': 0.5,
'reward_only_positive': True,
'reward_scale': True,
'reward_scale_rate': 20,
'reward_sparse': False,
'reward_win': 200,
'seed': 878682753,
'state_last_action': True,
'state_timestep_number': False,
'step_mul': 8},
'epsilon_anneal_time': 50000,
'epsilon_finish': 0.05,
'epsilon_start': 1.0,
'evaluate': False,
'gamma': 0.99,
'grad_norm_clip': 10,
'hypernet_embed': 64,
'hypernet_layers': 2,
'label': 'default_label',
'learner': 'q_learner',
'learner_log_interval': 10000,
'load_step': 0,
'local_results_path': 'results',
'log_interval': 10000,
'lr': 0.0005,
'mac': 'basic_mac',
'mixer': 'qmix',
'mixing_embed_dim': 32,
'name': 'qmix',
'obs_agent_id': True,
'obs_last_action': True,
'optim_alpha': 0.99,
'optim_eps': 1e-05,
'repeat_id': 1,
'rnn_hidden_dim': 64,
'runner': 'episode',
'runner_log_interval': 10000,
'save_model': False,
'save_model_interval': 2000000,
'save_replay': False,
'seed': 878682753,
't_max': 2050000,
'target_update_interval': 200,
'test_greedy': True,
'test_interval': 10000,
'test_nepisode': 32,
'use_cuda': False,
'use_tensorboard': False}
[INFO 07:55:06] my_main Beginning training for 2050000 timesteps
[ERROR 07:55:06] pymarl Failed after 0:00:43!
Traceback (most recent calls WITHOUT Sacred internals):
File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "src/main.py", line 35, in my_main
run(_run, config, _log)
File "/pymarl/src/run.py", line 48, in run
run_sequential(args=args, logger=logger)
File "/pymarl/src/run.py", line 166, in run_sequential
episode_batch = runner.run(test_mode=False)
File "/pymarl/src/runners/episode_runner.py", line 49, in run
self.reset()
File "/pymarl/src/runners/episode_runner.py", line 45, in reset
self.env.reset()
File "/usr/local/lib/python3.5/dist-packages/smac/env/starcraft2/starcraft2.py", line 403, in reset
self._launch()
File "/usr/local/lib/python3.5/dist-packages/smac/env/starcraft2/starcraft2.py", line 324, in _launch
window_size=self.window_size, want_rgb=False
File "/usr/local/lib/python3.5/dist-packages/pysc2/run_configs/platforms.py", line 205, in start
want_rgb=want_rgb, extra_args=extra_args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pysc2/run_configs/platforms.py", line 88, in start
self, exec_path=exec_path, version=self.version, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pysc2/lib/sc_process.py", line 87, in __init__
self._check_exists(exec_path)
File "/usr/local/lib/python3.5/dist-packages/pysc2/lib/sc_process.py", line 194, in _check_exists
"Trying to run '%s', but it isn't executable." % exec_path)
RuntimeError: Trying to run '/pymarl/3rdparty/StarCraftII/Versions/Base71663/SC2_x64', but it isn't executable.))
My computer system is win10 x64, and my StarCraft 2 version is 4.8.2.How to fix it,please help!!!!
brownsugar123 commented
I thought it was a problem with the StarCraft 2 version. I tried both versions 4.8.2 and 4.10, but this problem occurred.
dooliu commented
In Linux, 'chmod +x /home/tsou/StarCraftII/Versions/Base55958/SC2_x64' may work.
dooliu commented
Reference: oxwhirl/smac#60