Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'MARL' object has no attribute 'experience' #8

Open
santiagoparaella opened this issue Jun 16, 2021 · 0 comments
Open

'MARL' object has no attribute 'experience' #8

santiagoparaella opened this issue Jun 16, 2021 · 0 comments

Comments

@santiagoparaella
Copy link

santiagoparaella commented Jun 16, 2021

After the installation of both Soccer and marl i tried to run the second example with the MinMaxQAgent but I got the error:
AttributeError: 'MARL' object has no attribute 'experience'

Following the Traceback:

#> Start learning process.
| Date : 16/06/2021 12:28:09
Traceback (most recent call last):
File "prova.py", line 30, in
mas.learn(env, nb_timesteps=100000)
File "/home/tiago/Scrivania/Libri magistrale/Tesi/Cidici Git/marl/marl/agent/agent.py", line 265, in learn
self.update_model(timestep)
File "/home/tiago/Scrivania/Libri magistrale/Tesi/Cidici Git/marl/marl/marl.py", line 85, in update_model
ag.update_model(t)
File "/home/tiago/Scrivania/Libri magistrale/Tesi/Cidici Git/marl/marl/agent/q_agent.py", line 53, in update_model
batch = self.mas.experience.get_transition(len(self.mas.experience) - np.array(ind)-1)
AttributeError: 'MARL' object has no attribute 'experience'

prova.py contains the code of the second example that is the following (the same of the README):

import marl
from marl import MARL
from marl.agent import MinimaxQAgent
from marl.exploration import EpsGreedy

from soccer import DiscreteSoccerEnv
# Environment available here "https://github.com/blavad/soccer"
env = DiscreteSoccerEnv(nb_pl_team1=1, nb_pl_team2=1)

obs_s = env.observation_space
act_s = env.action_space

# Custom exploration process
expl1 = EpsGreedy(eps_deb=1.,eps_fin=.3)
expl2 = EpsGreedy(eps_deb=1.,eps_fin=.3)

# Create two minimax-Q agents
q_agent1 = MinimaxQAgent(obs_s, act_s, act_s, exploration=expl1, gamma=0.9, lr=0.001, name="SoccerJ1")
q_agent2 = MinimaxQAgent(obs_s, act_s, act_s, exploration=expl2, gamma=0.9, lr=0.001, name="SoccerJ2")

# Create the trainable multi-agent system
mas = MARL(agents_list=[q_agent1, q_agent2])

# Assign MAS to each agent
q_agent1.set_mas(mas)
q_agent2.set_mas(mas)

# Train the agent for 100 000 timesteps
mas.learn(env, nb_timesteps=100000)

# Test the agents for 10 episodes
mas.test(env, nb_episodes=10, time_laps=0.5)

Thank you in advance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant