jhmenke / grid2op_pp_baseline Goto Github PK
View Code? Open in Web Editor NEWBaseline agent for usage of pandapower in Grid2Op
License: BSD 3-Clause "New" or "Revised" License
Baseline agent for usage of pandapower in Grid2Op
License: BSD 3-Clause "New" or "Revised" License
Is the PandaPowerOPFAgent compatible with the new l2rpn_neurips_2020_track1 environment?
I created a small submission for testing purposes:
__init__.py
from .my_baseline import make_agent
my_baseline.py
from l2rpn_baselines.PandapowerOPFAgent import PandapowerOPFAgent
def make_agent(env, submission_dir):
agent = PandapowerOPFAgent(env.action_space, env.init_grid_path)
return agent
Afterwards I run check_submission.py. I got the following error:
Traceback (most recent call last):
File "/home/alwin/PycharmProjects/l2rpn-challenge/submission/utils/ingestion_program_local//ingestion.py", line 306, in <module>
main()
File "/home/alwin/PycharmProjects/l2rpn-challenge/submission/utils/ingestion_program_local//ingestion.py", line 282, in main
agent_seeds=agent_seeds,
File "/home/alwin/miniconda3/envs/l2rpn_challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 1076, in run
env_seeds=env_seeds, max_iter=max_iter, agent_seeds=agent_seeds)
File "/home/alwin/miniconda3/envs/l2rpn_challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 819, in _run_sequential
max_iter=max_iter)
File "/home/alwin/miniconda3/envs/l2rpn_challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 592, in run_one_episode
pbar=pbar, env_seed=env_seed, max_iter=max_iter, agent_seed=agent_seed)
File "/home/alwin/miniconda3/envs/l2rpn_challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 694, in _run_one_episode
act = agent.act(obs, reward, done)
File "/home/alwin/miniconda3/envs/l2rpn_challenge/lib/python3.7/site-packages/l2rpn_baselines/PandapowerOPFAgent/PandapowerOPFAgent.py", line 122, in act
self.parse_observation_to_grid(observation)
File "/home/alwin/miniconda3/envs/l2rpn_challenge/lib/python3.7/site-packages/l2rpn_baselines/PandapowerOPFAgent/PandapowerOPFAgent.py", line 68, in parse_observation_to_grid
assert len(self.grid.ext_grid) == 1 and len(obs.gen_type) == len(self.grid.gen) + len(self.grid.ext_grid)
AssertionError
Thank you in advance!
When I run:
import grid2op
from l2rpn_baselines.PandapowerOPFAgent import evaluate
env = grid2op.make()
evaluate(env, logs_path='logs-eval-opf-agent')
I get the following exception:
Traceback (most recent call last):
File "/home/alwin/PycharmProjects/l2rpn-challenge/l2rpn_baseline/evaluate_opf_agent.py", line 7, in <module>
evaluate(env, logs_path='logs-eval-opf-agent')
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/l2rpn_baselines/PandapowerOPFAgent/evaluate.py", line 78, in evaluate
pbar=False)
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 940, in run
res = self.run_sequential(nb_episode, path_save=path_save, pbar=pbar, seeds=seeds, max_iter=max_iter)
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 767, in run_sequential
max_iter=max_iter)
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 556, in run_one_episode
pbar=pbar, seed=seed, max_iter=max_iter)
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/grid2op/Runner/Runner.py", line 648, in _run_one_episode
act = agent.act(obs, reward, done)
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/l2rpn_baselines/PandapowerOPFAgent/PandapowerOPFAgent.py", line 152, in act
self.opf_type.lower(), logger=self.logger)
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/l2rpn_baselines/PandapowerOPFAgent/pp_functions.py", line 48, in run_opf
trafo_loading_before = (grid.res_trafo.i_hv_ka / grid.trafo.max_i_ka * 100.).max()
File "/home/alwin/miniconda3/envs/l2rpn-challenge/lib/python3.7/site-packages/pandas/core/generic.py", line 5274, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'max_i_ka'
Hello,
Sorry to bother you again, but it seems your baseline is not working.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/benjamin/Documents/l2rpn-baselines/l2rpn_baselines/PandapowerOPFAgent/__init__.py", line 6, in <module>
from l2rpn_baselines.PandapowerOPFAgent.PandapowerOPFAgent import PandapowerOPFAgent
File "/home/benjamin/Documents/l2rpn-baselines/l2rpn_baselines/PandapowerOPFAgent/PandapowerOPFAgent.py", line 9, in <module>
from grid2op.Agent import Agent
ImportError: cannot import name 'Agent' from 'grid2op.Agent' (/home/benjamin/Documents/grid2op/grid2op/Agent/__init__.py)
Indeed now the class Agent is called BaseAgent in grid2op.
Benjamin
Hello Jan Hendrick,
Would it be possible for you to have all your baseline code in the github repostiory.
This would look like:
.gitignore
LICENSE
Readme.md
info.md
__init__.py
evaluate.py
pandapowerOPFAgent.py
pp_functions.py
So that we can directly add a directory "pandapowerOPF" into l2rpn-baselines that would be a "symbolic link" (ie a submodule) containing your code, the license and all ?
Thanks a lot :-)
Benjamin
ย
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.