| --- |
| license: mit |
| --- |
| |
| # Example Model for BatterySwapAI 2026 |
|
|
| This repository shows how to create a solution for the |
| [BatterySwapAI 2026 challenge](https://www.nora.ai/competitions/batteryswapai/batteryswapai2026.html). |
|
|
| It contains working example code that can be submitted as-is, |
| along with tools to check the solution before submitting. |
|
|
| # Setup |
|
|
| ## Prerequisites |
|
|
| You need to have the following installed |
|
|
| - git |
| - Python 3.10+ |
| - Docker |
|
|
| ## Setting up virtual environment |
|
|
| On Linux / Mac OS / Windows Subsystem for Linux (WSL) |
| ``` |
| python -m venv venv |
| source venv/bin/activate |
| ``` |
|
|
| Install dependencies |
| ``` |
| pip install -r requirements.txt -r requirements.dev.txt |
| ``` |
|
|
|
|
| # Developing |
|
|
| ## Develop in virtual environment |
|
|
|
|
| Run the training |
| ``` |
| python batteryswap_example/train.py |
| ``` |
|
|
| # Making submissions |
|
|
| ## Submitting trained models |
|
|
| Trained models or other output used by submission processing (`script.py`), |
| must be committed in the git repository. |
| An example is `batteryswap_example/planners/best.pickle`. |
|
|
|
|
| ## Test submissions in Docker - recommended |
| |
| Using Docker allows to have exactly the same software versions as the submissions system. |
|
|
| This helps to ensure there are no errors when running in the submission environment. |
|
|
| NOTE: this requires around 20 GB+ of disk space. |
|
|
| Build Docker image |
| ``` |
| docker build -t batteryswapai-2026-example . |
| ``` |
|
|
| Make submissions and run evaluation |
| ``` |
| docker run --name batteryswapai -v ./dataset:/tmp/data batteryswapai-2026-example bash -c "/app/env/bin/python3 script.py && /app/env/bin/python3 -m batteryswap_public.metric" |
| ``` |
|
|
| Copy submission.csv out of container |
| ``` |
| docker cp batteryswapai:/app/submission.csv ./submission.csv |
| ``` |
|
|
| ## Create new submission |
|
|
| NOTE: remember to commit and push your changes to the HuggingFace model repository. |
|
|
| Use `New submission` in the competition application to submit your current code for evaluation. |
|
|
|
|
|
|