Closed BDonnot closed 2 years ago
hi @BDonnot ,
I just checked the list of packages for the ICAPS 2021 competition. I just wanted to ask if it's ok to add this lib: https://github.com/dmlc/dgl
(install instructions: https://www.dgl.ai/pages/start.html)
It makes sense indeed. I'll try to include it for the validation phase (need to check for possible incompatibility issues)
Great, thank you.
On Sun, Jul 25, 2021, 18:10 Benjamin DONNOT @.***> wrote:
It makes sense indeed. I'll try to include it for the validation phase (need to check for possible incompatibility issues)
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rte-france/Grid2Op/issues/233#issuecomment-886223790, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGAI3G66I3FUC2PAU3X6B7TTZQZPBANCNFSM47DERR4Q .
The main installed packages are listed below.
In your submission, you can only use the package listed there.
During the warmup phase, if you need other packages we can see if it's possible to install them and they will be available for the validation and test phases.
The script that scores the submission run on the bdonnot/l2rpn:icaps.2021.1
docker images, you can retrieve it with docker pull bdonnot/l2rpn:icaps.2021.1
and use it locally to be as close as possible to the evaluation script.
Otherwise, you can install the specific version of these packages in a virtual env as explained in the last part of this post.
NB you can use any package you want during training of your agent (if they need training), to find hyper parameters etc. These packages are only used for evaluating how well your submission performs. For example, you could use any RL framework you want to train an agent. And once the policy is trained, you load it using tensorflow and use this tensorflow model in codalab. This causes absolutely no trouble.
Here is the list, in no particular order (it can be a pain to install all these packages at these versions due to some dependencies: for example cvxpy works if ecos is installed. But you need to install a specific version of ecos to be compatible with numpy 1.19.5 otherwise you cannot import it)
This is an example on how to set up your machine to be as close as possible to the environment used to score your submission. We show it an example on an Ubuntu machine. You will need to adapt it if you use another operating system.
The most simple way to replicate the scoring environment is through docker by running your script in the bdonnot/l2rpn:icaps.2021.1
image. These explanations are given as an example and WITHOUT ANY GUARANTEE.
Other you can:
apt install -y coinor-cbc coinor-clp glpk-utils libglpk-dev ffmpeg libsm6 libxext6
python3 -m virtualenv venv
source venv/bin/activate
(this step will be mandatory each time you will want to use your local copy of the environment)pip3 install -U absl-py==0.13.0 \
aiohttp==3.7.4.post0 \
aiohttp-cors==0.7.0 \
aioredis==1.3.1 \
ase==3.21.1 \
astor==0.8.1 \
astunparse==1.6.3 \
async-timeout==3.0.1 \
atari-py==0.2.9 \
attrs==21.2.0 \
blessings==1.7 \
cachetools==4.2.2 \
certifi==2021.5.30 \
cffi==1.14.5 \
chardet==4.0.0 \
click==8.0.1 \
cloudpickle==1.6.0 \
cma==3.0.3 \
colorama==0.4.4 \
colorful==0.5.4 \
cryptography==3.4.7 \
cycler==0.10.0 \
decorator==4.4.2 \
et-xmlfile==1.1.0 \
filelock==3.0.12 \
flatbuffers==1.12 \
gast==0.4.0 \
google-api-core==1.30.0 \
google-auth==1.31.0 \
google-auth-oauthlib==0.4.4 \
google-pasta==0.2.0 \
googleapis-common-protos==1.53.0 \
googledrivedownloader==0.4 \
gpustat==0.6.0 \
grpcio==1.34.1 \
h5py==3.1.0 \
hiredis==2.0.0 \
idna==2.10 \
imageio==2.9.0 \
isodate==0.6.0 \
Jinja2==3.0.1 \
joblib==1.0.1 \
jsonschema==3.2.0 \
keras-nightly==2.5.0.dev2021032900 \
Keras-Preprocessing==1.1.2 \
kiwisolver==1.3.1 \
llvmlite==0.36.0 \
lxml==4.6.3 \
lz4==3.1.3 \
Markdown==3.3.4 \
MarkupSafe==2.0.1 \
matplotlib==3.4.2 \
msgpack==1.0.2 \
multidict==5.1.0 \
networkx==2.5.1 \
numba==0.53.0 \
numexpr==2.7.3 \
numpy==1.19.5 \
nvidia-ml-py3==7.352.0 \
oauthlib==3.1.1 \
opencensus==0.7.13 \
opencensus-context==0.1.2 \
opencv-python==4.5.2.54 \
opencv-python-headless==4.3.0.36 \
openpyxl==3.0.7 \
opt-einsum==3.3.0 \
osqp==0.6.2.post0 \
packaging==20.9 \
pandas==1.2.4 \
patsy==0.5.1 \
Pillow==8.2.0 \
ply==3.11 \
portpicker==1.4.0 \
prometheus-client==0.11.0 \
protobuf==3.17.3 \
psutil==5.8.0 \
py-spy==0.3.7 \
pyasn1==0.4.8 \
pyasn1-modules==0.2.8 \
pybind11==2.6.2 \
pycparser==2.20 \
pydantic==1.8.2 \
pygifsicle==1.0.4 \
pyglet==1.5.15 \
Pympler==0.9 \
pyparsing==2.4.7 \
pyrsistent==0.17.3 \
python-dateutil==2.8.1 \
python-louvain==0.15 \
pytz==2021.1 \
PyYAML==5.4.1 \
qdldl==0.1.5.post0 \
rdflib==5.0.0 \
redis==3.5.3 \
requests==2.25.1 \
requests-oauthlib==1.3.0 \
rsa==4.7.2 \
scipy==1.6.0 \
scs==2.1.4 \
six==1.15.0 \
tables==3.6.1 \
tabulate==0.8.9 \
termcolor==1.1.0 \
threadpoolctl==2.1.0 \
tqdm==4.61.1 \
typeguard==2.12.1 \
typing-extensions==3.7.4.3 \
urllib3==1.26.5 \
Werkzeug==2.0.1 \
wrapt==1.12.1 \
xlrd==2.0.1 \
XlsxWriter==1.4.3 \
yarl==1.6.3
pip install -U ecos==2.0.5
pip install -U cvxpy==1.1.13
pip install gym==0.18.3 \
"ortools==9.0.9048" \
"jax==0.2.14" \
"jaxlib==0.1.67" \
"dm-acme[reverb]==0.2.1" \
"dm-sonnet==2.0.0" \
"bayesian-optimization==1.2.0" \
"nevergrad==0.4.3.post4" \
tensorboard==2.5.0 \
tensorboard-data-server==0.6.1 \
tensorboard-plugin-wit==1.8.0 \
tensorboardX==2.2 \
tensorflow==2.5.0 \
tensorflow-addons==0.13.0 \
tensorflow-estimator==2.5.0 \
tensorflow-probability==0.12.2 \
"pandapower==2.6.0" \
"statsmodels==0.12.2" \
"scikit-learn==0.24.2" \
"ray[rllib,default]==1.4.0" \
"stable-baselines3[extra]==1.0" \
"tianshou==0.4.1" \
spektral==1.0.6 \
"torch==1.8.1+cpu" \
"torchvision==0.9.1+cpu" \
"torchaudio==0.8.1" \
-f https://download.pytorch.org/whl/lts/1.8/torch_lts.html \
"Pyomo==6.0.1" \
pypsa=="0.17.1" \
"paddlepaddle==2.1.0" \
dopamine-rl==3.1.14
- but wait, there is more
```bash
pip install torch-scatter==2.0.7 -f https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html torch-sparse==0.6.9 -f https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html torch-cluster==1.5.9 -f https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html torch-spline-conv==1.2.1 -f https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html
pip install -U grid2op==1.6.0.post1 --no-deps # dependencies are installed manually for more control
pip install -U l2rpn-baselines==0.5.1 --no-deps # dependencies are installed manually for more control
And now your are good to go.
The main installed packages are listed below.
In your submission, you can only use the package listed there.
During the warmup phase, if you need other packages we can see if it's possible to install them and they will be available for the validation and test phases.
The script that scores the submission run on the
bdonnot/l2rpn:icaps.2021.4
docker images, you can retrieve it withdocker pull bdonnot/l2rpn:icaps.2021.4
and use it locally to be as close as possible to the evaluation script.Otherwise, you can install the specific version of these packages in a virtual env as explained in the last part of this post.
NB you can use any package you want during training of your agent (if they need training), to find hyper parameters etc. These packages are only used for evaluating how well your submission performs. For example, you could use any RL framework you want to train an agent. And once the policy is trained, you load it using tensorflow and use this tensorflow model in codalab. This causes absolutely no trouble.
Standard packages
Power system / grid2op ecosystem
Deep learning and reinforcement learning libraries
Optimization libraries
Complete list
Here is the list, in no particular order (it can be a pain to install all these packages at these versions due to some dependencies: for example cvxpy works if ecos is installed. But you need to install a specific version of ecos to be compatible with numpy 1.19.5 otherwise you cannot import it)
absl-py==0.13.0
Replicating locally the setup without docker
This is an example on how to set up your machine to be as close as possible to the environment used to score your submission. We show it an example on an Ubuntu machine. You will need to adapt it if you use another operating system.
The most simple way to replicate the scoring environment is through docker by running your script in the
bdonnot/l2rpn:icaps.2021.1
image. These explanations are given as an example and WITHOUT ANY GUARANTEE.Other you can:
apt install -y coinor-cbc coinor-clp glpk-utils libglpk-dev ffmpeg libsm6 libxext6
python3 -m virtualenv venv
source venv/bin/activate
(this step will be mandatory each time you will want to use your local copy of the environment)And now your are good to go.