rte-france / Grid2Op

Grid2Op a testbed platform to model sequential decision making in power systems.
https://grid2op.readthedocs.io/
Mozilla Public License 2.0
281 stars 115 forks source link

Branch dev_multiagent ModuleNotFoundError #390

Closed LAS1520 closed 1 year ago

LAS1520 commented 1 year ago

Bug description

I pulled the branch dev_multiagent and installed from source. But when I tried to run base_test_random_multi_agents.py, I had a ModuleNotFoundError, which was caused by the grid2op.multi_agent.ma_typing.py.

How to reproduce

Code snippet

In base_test_random_multi_agents.py, I ran:

import pdb
import grid2op
from grid2op.Converter import IdToAct
from grid2op.multi_agent import MultiAgentEnv, SubGridObjects

Current output

ModuleNotFoundError                       Traceback (most recent call last)
/tmp/ipykernel_172213/1025803432.py in <cell line: 12>()
     10 import grid2op
     11 from grid2op.Converter import IdToAct
---> 12 from grid2op.multi_agent import MultiAgentEnv, SubGridObjects

~/anacoonda3/envs/multi_agent_transformer/lib/python3.9/site-packages/grid2op/multi_agent/__init__.py in <module>
----> 1 from grid2op.multi_agent.multiAgentEnv import MultiAgentEnv
      2 from grid2op.multi_agent.subGridObjects import SubGridObjects

~/anacoonda3/envs/multi_agent_transformer/lib/python3.9/site-packages/grid2op/multi_agent/multiAgentEnv.py in <module>
     20 from grid2op.Action import BaseAction
     21 
---> 22 from grid2op.multi_agent.ma_typing import ActionProfile, AgentID, LocalAction, LocalActionSpace, LocalObservation, LocalObservationSpace, MADict
     23 from grid2op.multi_agent.multi_agentExceptions import *
     24 from grid2op.multi_agent.subgridAction import SubGridAction, SubGridActionSpace

~/anacoonda3/envs/multi_agent_transformer/lib/python3.9/site-packages/grid2op/multi_agent/ma_typing.py in <module>
      8 
      9 from typing import Any, Optional, Dict, Tuple
---> 10 from getting_started.grid2op.Observation.baseObservation import BaseObservation
     11 from getting_started.grid2op.Observation.observationSpace import ObservationSpace
     12 

ModuleNotFoundError: No module named 'getting_started'

The module 'getting_started' was used in grid2op.multi_agent.ma_typing.py:

# Copyright (c) 2019-2020, RTE (https://www.rte-france.com)
# See AUTHORS.txt
# This Source Code Form is subject to the terms of the Mozilla Public License, version 2.0.
# If a copy of the Mozilla Public License, version 2.0 was not distributed with this file,
# you can obtain one at http://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0
# This file is part of Grid2Op, Grid2Op a testbed platform to model sequential decision making in power systems.

from typing import Any, Optional, Dict, Tuple
from getting_started.grid2op.Observation.baseObservation import BaseObservation
from getting_started.grid2op.Observation.observationSpace import ObservationSpace

from grid2op.multi_agent.subgridAction import SubGridAction, SubGridActionSpace

AgentID = str

LocalObservationSpace = ObservationSpace
LocalActionSpace = SubGridActionSpace

LocalAction = SubGridAction
LocalObservation = BaseObservation

ActionProfile = Dict[AgentID, LocalAction]
MADict = Dict[AgentID, Any]  # TODO slit it in more things to be more precise
# this is close to useless this way

Maybe the two lines of the code above should be modified to

from grid2op.Observation.baseObservation import BaseObservation
from grid2op.Observation.observationSpace import ObservationSpace

BDonnot commented 1 year ago

Hello,

Indeed I already fixed that on the development branch in my repo that I did not merged here yet because some tests are failing and I don't really why at the moment. I am working on it and letting you know when I'll merge it.

Thanks for raising this error

In the merge, I will also include some examples on how to use the multi-agent feature with ray in a dedicated "examples/multi_agents" folder (accessible if you clone this repo)

BDonnot commented 1 year ago

I just merged the fix, you can clone it again if you want :-)

LAS1520 commented 1 year ago

Thanks a lot!