问题遇到的现象和发生背景 在使用MARLlib 测试rware环境时候出现TypeError: '>=' not supported between instances of 'int' and 'str',但是另一台环境出现错误,不知道是什么原因,在另一台机器生可以测试,但是在ubuntu1804 上会失败。
ubuntu18.04 rware 1.0.1
if shelf_delivered:
self._cur_inactive_steps = 0
else:
self._cur_inactive_steps += 1
self._cur_steps += 1
if (
self.max_inactivity_steps
and self._cur_inactive_steps >= self.max_inactivity_steps
) or (self.max_steps and self._cur_steps >= self.max_steps):
dones = self.n_agents * [True]
else:
dones = self.n_agents * [False]
运行结果及详细报错内容
Traceback (most recent call last):
File "marl/main.py", line 38, in <module>
run_il(config_dict)
File "/media/lx207/aa/ZhangZhi/MARLlib-main/marl/algos/run_il.py", line 172, in run_il
results = POlICY_REGISTRY[config_dict["algorithm"]](config_dict, common_config, env_info_dict, stop)
File "/media/lx207/aa/ZhangZhi/MARLlib-main/marl/algos/scripts/a2c.py", line 46, in run_a2c
results = tune.run(IA2CTrainer,
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/tune.py", line 601, in run
runner.step()
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/trial_runner.py", line 705, in step
self._process_events(timeout=timeout)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/trial_runner.py", line 863, in _process_events
self._process_trial(trial)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/trial_runner.py", line 890, in _process_trial
results = self.trial_executor.fetch_result(trial)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/ray_trial_executor.py", line 788, in fetch_result
result = ray.get(trial_future[0], timeout=DEFAULT_GET_TIMEOUT)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 105, in wrapper
return func(*args, **kwargs)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/worker.py", line 1625, in get
raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(TypeError): ray::IA2CTrainer.train_buffered() (pid=4716, ip=192.168.1.7, repr=IA2CTrainer)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/trainable.py", line 224, in train_buffered
result = self.train()
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/agents/trainer.py", line 682, in train
raise e
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/agents/trainer.py", line 668, in train
result = Trainable.train(self)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/tune/trainable.py", line 283, in train
result = self.step()
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/agents/trainer_template.py", line 206, in step
step_results = next(self.train_exec_impl)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 756, in __next__
return next(self.built_iterator)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 783, in apply_foreach
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 843, in apply_filter
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 843, in apply_filter
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 783, in apply_foreach
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 876, in apply_flatten
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 783, in apply_foreach
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/util/iter.py", line 783, in apply_foreach
for item in it:
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/execution/rollout_ops.py", line 76, in sampler
yield workers.local_worker().sample()
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/evaluation/rollout_worker.py", line 753, in sample
batches = [self.input_reader.next()]
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/evaluation/sampler.py", line 103, in next
batches = [self.get_data()]
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/evaluation/sampler.py", line 233, in get_data
item = next(self._env_runner)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/evaluation/sampler.py", line 648, in _env_runner
base_env.send_actions(actions_to_send)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/ray/rllib/env/base_env.py", line 431, in send_actions
obs, rewards, dones, infos = env.step(agent_dict)
File "/media/lx207/aa/ZhangZhi/MARLlib-main/envs/base_env/rware.py", line 70, in step
o, r, d, i = self.env.step(actions)
File "/home/lx207/anaconda3/envs/marllib/lib/python3.8/site-packages/rware/warehouse.py", line 629, in step
and self._cur_inactive_steps >= self.max_inactivity_steps
TypeError: '>=' not supported between instances of 'int' and 'str'
自己尝试过使用int进行更换类型,但是仍然会出错。