The code for successor version of SymNet (published in UAI 2022), is available at SymNet 2.0
# SymNet Public code for symnet for ICML submission
The requirements to use the experiments are:
- python3
- tensorflow=1.10
- unittest
- multiprocessing
- threading
- shutil
- better_exceptions
- pickle
- networkx
- scipy
Before starting the experiments run these commands from the main folder once:
for i in {1..10}
do
cp -r ./rddl/lib ./gym/envs/rddl/rddl
cp ./gym/envs/rddl/rddl/lib/clibxx.so ./gym/envs/rddl/rddl/lib/clibxx$i.so
cp ./rddl/lib/clibxx.so ./rddl/lib/clibxx$i.so
done
Add the following variables in the shell before running the code from the main folder:
MAIN_MODULE=$(pwd)
export PYTHONPATH=$MAIN_MODULE:$PYTHONPATH
export PYTHONPATH=$MAIN_MODULE/utils:$PYTHONPATH
Please see the individual folder on how to run the experiments
- gym: contains the necessary interface for getting the states and actions during simulation of the planning problem. Also provides interface for taking the next step in the environment
- rddl: contains the rddl domain files, parsed files and dbn files for all the domains for the experiment.
- utils: contains the adapted code for the Graph Attention Networks (GAT)l, borrowed form here.
- multi_train: contains the code for the SymNet and the baseline (adapted ToRPIDo code).