TypeError: tuple indices must be integers or slices, not tuple
oatuy opened this issue · 3 comments
Hello.
Thanks for your codes, but I got some errors.
I’m using your env.py
, so I renamed the env
folder and changed from env import envs
to import env as envs
.
Is it correct?
Since I only have CPU, I change self.sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
to
self.sess = tf.Session()
But maybe this is not related to the errors.
When I ran the codes, I get such errors:
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydev_run_in_console.py", line 53, in run_file
pydev_imports.execfile(file, globals, locals) # execute the script
File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File “xx/scalable_maddpg/main.py", line 44, in <module>
action = maddpg.noise_action(current_state)
File “xx/scalable_maddpg/maddpg.py", line 158, in noise_action
action = self.action(state)
File “xx/scalable_maddpg/maddpg.py", line 138, in action
action[ii,:] = self.agents[ii].action(state[ii,:])
TypeError: tuple indices must be integers or slices, not tuple
I tried to solve it by changing action[ii,:] = self.agents[ii].action(state[ii,:])
to action[ii,:] = self.agents[ii].action(state[ii])
, but it lead to other errors.
Do you have some idea of the errors?
Thank you.
Since you are using the env.py as the environment, the prey policy should be implemented outside the environment by yourself. This is a little different from the modified gym environment which we implement the prey policy inside the environment. You can refer this repository to see how to use env.py correctly.
I am not sure whether this is caused by the environment.
Hello! I got the same error when running the main.py main_add_agents.py, slow_replay.py files, as shown below:
Traceback (most recent call last):
File "main.py", line 16, in
Env = envs.Environ (num_agents, max_edge)
File "/home/dcy/MADDPG/scalable_maddpg-master/env/envs.py", line 23, in init
= self.create_env (num_agents,)
File "/home/dcy/MADDPG/scalable_maddpg-master/env/envs.py", line 37, in create_env
shared_viewer = False)
File "env / multiagent / environment.py", line 71, in init
self.observation_space.append (spaces.Box (low = -np.inf, high = + np.inf, shape = (obs_dim),))
File "/home/dcy/anaconda3/lib/python3.6/site-packages/gym/spaces/box.py", line 34, in init
gym.Space .__ init __ (self, shape, dtype)
File "/home/dcy/anaconda3/lib/python3.6/site-packages/gym/core.py", line 202, in init
self.shape = None if shape is None else tuple (shape)
TypeError: 'int' object is not iterable
Excuse me, what is the reason for this?
Would you please delete the env folder and try our env.py implementation. You can refer this repository .