qgym
is a software framework that provides environments for training and benchmarking RL-based quantum compilers.
It is built on top of OpenAI Gym and abstracts parts of the compilation process that are irrelevant to AI researchers.
qgym
includes three environments: InitialMapping
, Routing
, and Scheduling
, each of which is customizable and extensible.
We have created an extensive documentation with code snippets. Please feel free to contact us via s.feld@tudelft.nl if you have any questions, or by creating a GitHub issue.
What follows are some simple steps to get you running. You could also have a look at some Jupyter Notebooks that we have created for a tutorial at the IEEE International Conference on Quantum Computing and Engineering (QCE’22).
We also gave an talk about the package at qhack 2024, which you can find by clicking the image below.
To install the qgym
use
pip install qgym
If you would also like to use the notebooks, additional packages are required, which can simply be installed by using In this case, use
pip install qgym[tutorial]
Currently qgym
has support for Python 3.8, 3.9, 3.10, 3.11 and 3.12.
The paper on qgym
has been presented in the 1st International Workshop on Quantum Machine Learning: From Foundations to Applications (QML@QCE'23).
The publication can be found on computer.org
You can find the preprint of the paper on arxiv.
@inproceedings{van2023qgym,
title={qgym: A Gym for training and benchmarking RL-based quantum compilation},
author={Van Der Linde, Stan and De Kok, Willem and Bontekoe, Tariq and Feld, Sebastian},
booktitle={2023 IEEE International Conference on Quantum Computing and Engineering (QCE)},
volume={2},
pages={26--30},
year={2023},
organization={IEEE}
}
Building qgym is a joint effort.