Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: nature.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: hannesvoss
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 15.7 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 11 months ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

License: GPL v3 DOI

Reinforcement Learning Challenge at the RL4AA'25 Workshop

This repository contains the material for challenge of the RL4AA'25 workshop.

Homepage for RL4AA Collaboration: https://rl4aa.github.io/

Disclaimer ❗

This repository contains advanced Python tutorials developed with care and dedication to foster learning and collaboration. The code and materials provided here are the result of significant effort, including state-of-the-art research and unpublished or pre-peer-reviewed work.

We share these resources in good faith, aiming to contribute to the community and advance knowledge in our field. If you use or build upon any part of this tutorial, whether in research, software, or educational materials, proper citation is required. Please cite the tutorial as indicated in the repository or its associated Zenodo entry.

While we encourage reuse and adaptation of our work, uncredited use or plagiarism is unacceptable. We actively monitor citations and expect users to engage in responsible scholarly practice. Failure to properly attribute this work may lead to formal actions.

By using this repository, you acknowledge and respect the effort behind it. We appreciate your support in maintaining academic integrity and fostering an open, collaborative environment.

Happy coding, and thank you for citing responsibly! 😊

Citing the materials

This tutorial is uploaded to Zenodo. Please use the following DOI when citing this code:

bibtex @software{kaiser2025rl4aa25, title = {{RL4AA'25 ARES Challenge}}, author = {Kaiser, Jan and Xu, Chenran and Hespe, Christian and {Contreras Campana}, Christian and Hirlaender, Simon and {Santamaria Garcia}, Andrea and Eichler, Annika}, year = 2025, month = 04, publisher = {Zenodo}, doi = {10.5281/zenodo.15120236}, url = {https://zenodo.org/doi/10.5281/zenodo.15120236}, version = {v1.0.1} }

Getting started

  • You will require about 3 GB of free disk space
  • Make sure you have Git installed in your terminal ❗

Start by cloning locally the repository of the challenge by running this command in your terminal:

bash git clone https://github.com/RL4AA/rl4aa25-challenge.git

Installing virtual environment

Using conda-forge

  • If you don't have conda installed already, you can install the miniforge as described in the GitHub repository or download from the conda-forge site. Once miniforge is installed, you can use the conda commands as usual.
  • We recommend installing miniforge the day beforehand to avoid network overload during the challenge ❗ ❗

Note: If you already have anaconda or miniconda installed, please remove the anaconda channels from the channel list and use conda-forge (community version), as the package installation from commercial channels is blocked insde of the DESY network.

Once miniforge is installed run this command in your terminal:

bash conda env create -f environment.yaml

This should create a virtual environment named rl4aa25-challenge and install the necessary packages inside.

Afterwards, activate the environment using

bash conda activate rl4aa25-challenge

Getting to know the ARES EA Environment

Next, open the Jupyter notebook challenge_introduction.ipynb either in your editor or in terminal via

bash jupyter notebook

Folder Structure

  • src Contains the source code for the RL environment and the GP-MPC controller
    • src/environments/ea contains the gymnasium environment for the ARES-EA transverse tuning task
    • src/wrappers contains custom wrappers for the EA environment
    • src/train contains scripts to train a PPO agent to solve the task
  • data contains the data from evaluating your agents
    • data/csvs contains the CSV files generated by the evaluation scripts for challenge submission

Further Resources

For more examples and details on the ARES RL environment, c.f.

Owner

  • Name: Hannes Voß
  • Login: hannesvoss
  • Kind: user
  • Location: Hamburg
  • Company: University Medical Center Hamburg-Eppendorf (UKE)

CS, Comp. Neuroscience, AI

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Kaiser
    given-names: Jan
    affiliation: Deutsches Elektronen-Synchrotron DESY
    orcid: "https://orcid.org/0000-0003-3445-0678"
  - family-names: Xu
    given-names: Chenran
    affiliation: Karlsruhe Institute of Technology
    orcid: "https://orcid.org/0000-0002-5034-2207"
  - family-names: Hespe
    given-names: Christian
    affiliation: Deutsches Elektronen-Synchrotron DESY
    orcid: "https://orcid.org/0000-0001-5772-9044"
  - family-names: Contreras Campana
    given-names: Christian
    affiliation: Deutsches Elektronen-Synchrotron DESY
  - family-names: Hirlaender
    given-names: Simon
    affiliation: University of Salzburg
    orcid: "https://orcid.org/0000-0002-2634-3437"
  - family-names: Santamaria Garcia
    given-names: Andrea
    affiliation: University of Liverpool
    orcid: "https://orcid.org/0000-0002-7498-7640"
  - family-names: Eichler
    given-names: Annika
    affiliation: Deutsches Elektronen-Synchrotron DESY
    orcid: "https://orcid.org/0000-0003-3282-3135"

title: "RL4AA'25 ARES Challenge"
date-released: 2025-04-01
type: software
version: 1.0.1
doi: 10.5281/zenodo.15120236
license: GPL-3.0
url: "https://github.com/rl4aa/rl4aa25-challenge"

GitHub Events

Total
  • Member event: 1
  • Push event: 5
  • Create event: 2
Last Year
  • Member event: 1
  • Push event: 5
  • Create event: 2

Dependencies

.github/workflows/format.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
Dockerfile docker
  • node 18 build
  • python 3.11-slim build
src/render_3d/Dockerfile docker
  • node 18 build
  • python 3.11-slim build
src/render_3d/package-lock.json npm
  • 267 dependencies
src/render_3d/package.json npm
  • concurrently ^8.2.2 development
  • vite ^6.2.0 development
  • vite-plugin-copy ^0.1.6 development
  • vite-plugin-image-optimizer ^1.1.8 development
  • vite-plugin-static-copy ^2.3.0 development
  • express ^4.21.2
  • plotly.js-dist ^3.0.1
  • puppeteer ^24.4.0
  • three ^0.163.0
environment.yaml pypi
requirements.txt pypi
  • SciencePlots ==2.1.1
  • cheetah-accelerator ==0.7.1
  • gymnasium ==0.29.1
  • jupyter ==1.1.1
  • matplotlib ==3.10.1
  • opencv-python ==4.11.0.86
  • python-dotenv ==1.1.0
  • rl_zoo3 ==2.3.0
  • scipy >=1.12
  • seaborn ==0.13.2
  • stable-baselines3 ==2.5.0
  • tensorboard ==2.19.0
  • tqdm ==4.67.1
  • trimesh ==4.6.4
  • wandb ==0.19.8
  • websockets ==15.0
src/render_3d/beam_server/environment.yml pypi
  • absl-py ==2.1.0
  • ale-py ==0.10.2
  • annotated-types ==0.7.0
  • anyio ==4.8.0
  • appnope ==0.1.4
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.3.0
  • asttokens ==3.0.0
  • async-lru ==2.0.4
  • attrs ==25.1.0
  • babel ==2.17.0
  • beautifulsoup4 ==4.13.3
  • bleach ==6.2.0
  • blinker ==1.9.0
  • certifi ==2025.1.31
  • cffi ==1.17.1
  • charset-normalizer ==3.4.1
  • cheetah-accelerator ==0.7.1
  • click ==8.1.8
  • cloudpickle ==3.1.1
  • comm ==0.2.2
  • contourpy ==1.3.1
  • cycler ==0.12.1
  • debugpy ==1.8.13
  • decorator ==5.2.1
  • defusedxml ==0.7.1
  • docker-pycreds ==0.4.0
  • dotenv ==0.9.9
  • executing ==2.2.0
  • farama-notifications ==0.0.4
  • fastjsonschema ==2.21.1
  • filelock ==3.17.0
  • flask ==3.1.0
  • flask-cors ==5.0.1
  • fonttools ==4.56.0
  • fqdn ==1.5.1
  • fsspec ==2025.3.0
  • gitdb ==4.0.12
  • gitpython ==3.1.44
  • grpcio ==1.70.0
  • gymnasium ==1.0.0
  • h11 ==0.14.0
  • h5py ==3.13.0
  • httpcore ==1.0.7
  • httpx ==0.28.1
  • idna ==3.10
  • ipykernel ==6.29.5
  • ipython ==9.0.2
  • ipython-pygments-lexers ==1.1.1
  • ipywidgets ==8.1.5
  • isoduration ==20.11.0
  • itsdangerous ==2.2.0
  • jedi ==0.19.2
  • jinja2 ==3.1.6
  • json5 ==0.10.0
  • jsonpointer ==3.0.0
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • jupyter-client ==8.6.3
  • jupyter-core ==5.7.2
  • jupyter-events ==0.12.0
  • jupyter-lsp ==2.2.5
  • jupyter-server ==2.15.0
  • jupyter-server-terminals ==0.5.3
  • jupyterlab ==4.3.5
  • jupyterlab-pygments ==0.3.0
  • jupyterlab-server ==2.27.3
  • jupyterlab-widgets ==3.0.13
  • kiwisolver ==1.4.8
  • llvmlite ==0.44.0
  • markdown ==3.7
  • markdown-it-py ==3.0.0
  • markupsafe ==3.0.2
  • matplotlib ==3.10.1
  • matplotlib-inline ==0.1.7
  • mccabe ==0.7.0
  • mdurl ==0.1.2
  • mistune ==3.1.2
  • mpc ==0.0.6
  • mpmath ==1.3.0
  • msgpack ==1.1.0
  • mypy-extensions ==1.0.0
  • nbclient ==0.10.2
  • nbconvert ==7.16.6
  • nbformat ==5.10.4
  • nest-asyncio ==1.6.0
  • networkx ==3.4.2
  • notebook-shim ==0.2.4
  • numba ==0.61.0
  • numexpr ==2.10.2
  • numpy ==1.26.4
  • opencv-python ==4.11.0.86
  • overrides ==7.7.0
  • packaging ==24.2
  • pandas ==2.2.3
  • pandoc ==2.4
  • pandocfilters ==1.5.1
  • parso ==0.8.4
  • pathspec ==0.12.1
  • pexpect ==4.9.0
  • pillow ==11.1.0
  • platformdirs ==4.3.6
  • plumbum ==1.9.0
  • ply ==3.11
  • prometheus-client ==0.21.1
  • prompt-toolkit ==3.0.50
  • protobuf ==5.29.3
  • psutil ==7.0.0
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.3
  • pycodestyle ==2.12.1
  • pycparser ==2.22
  • pydantic ==2.10.6
  • pydantic-core ==2.27.2
  • pyfftw ==0.15.0
  • pyflakes ==3.2.0
  • pygame ==2.6.1
  • pyglet ==1.5.31
  • pygments ==2.19.1
  • pyparsing ==3.2.1
  • python-dateutil ==2.9.0.post0
  • python-dotenv ==1.0.1
  • python-json-logger ==3.3.0
  • pytz ==2025.1
  • pyyaml ==6.0.2
  • pyzmq ==26.2.1
  • referencing ==0.36.2
  • requests ==2.32.3
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rich ==13.9.4
  • rpds-py ==0.23.1
  • scienceplots ==2.1.1
  • scipy ==1.10.1
  • seaborn ==0.13.2
  • send2trash ==1.8.3
  • sentry-sdk ==2.22.0
  • setproctitle ==1.3.5
  • six ==1.17.0
  • smmap ==5.0.2
  • sniffio ==1.3.1
  • soupsieve ==2.6
  • stable-baselines3 ==2.5.0
  • stack-data ==0.6.3
  • sympy ==1.13.1
  • tensorboard ==2.19.0
  • tensorboard-data-server ==0.7.2
  • terminado ==0.18.1
  • tinycss2 ==1.4.0
  • torch ==2.6.0
  • tornado ==6.4.2
  • tqdm ==4.67.1
  • traitlets ==5.14.3
  • trimesh ==4.6.4
  • types-python-dateutil ==2.9.0.20241206
  • typing-extensions ==4.12.2
  • tzdata ==2025.1
  • uri-template ==1.3.0
  • urllib3 ==2.3.0
  • wandb ==0.19.8
  • wcwidth ==0.2.13
  • webcolors ==24.11.1
  • webencodings ==0.5.1
  • websocat ==1.13.0
  • websocket-client ==1.8.0
  • websockets ==15.0
  • werkzeug ==3.1.3
  • widgetsnbextension ==4.0.13