This code is a part of the paper Symbolic Relational Deep Reinforcement Learning based on Graph Neural Networks and Autoregressive Policy Decomposition.
Choose the experiment you want to run, and execute python main.py
. Check python main.py --help
for additional arguments. If you have a trained model, you can evaluate it with python main.py -eval -load model.pt
. For each experiment we include some trained models in the rrl-*/_store/
directory.
The results are logged into stdout and wandb experiment management system. Log-in with your account if necessary.
The code is based on PyTorch and PyTorch Geometric.
The code requires at least Python 3.6.12.
Udpate pip with pip install --upgrade pip
.
Install pytorch pip install torch==1.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
.
Install pytorch geometric requirements:
pip install --no-index torch-scatter -f https://pytorch-geometric.com/whl/torch-1.7.0+cpu.html pip install scipy pip install --no-index torch-sparse -f https://pytorch-geometric.com/whl/torch-1.7.0+cpu.html pip install --no-index torch-cluster -f https://pytorch-geometric.com/whl/torch-1.7.0+cpu.html pip install --no-index torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.7.0+cpu.html
(you can install gpu versions by replacing +cpu
with +cu101
)
Install other dependencies with pip install -r requirements.txt
.
python main.py -boxes <N>
python main.py -nodes <N>
for SysAdmin-S
python main.py -nodes <N> --multi
for SysAdmin-M
python main.py
for default unfiltered dataset (will download automatically)
python main.py --custom <XxYxB>
for custom size environment of size XxY with B boxes
add -eval -load <model.pt>
to the arguments