๐Ÿ“ฆ rparrett / kilter_brain_gen

Kilter Board climb generation experiments

โ˜… 1 stars โ‘‚ 1 forks ๐Ÿ‘ 1 watching
๐Ÿ“ฅ Clone https://github.com/rparrett/kilter_brain_gen.git
HTTPS git clone https://github.com/rparrett/kilter_brain_gen.git
SSH git clone git@github.com:rparrett/kilter_brain_gen.git
CLI gh repo clone rparrett/kilter_brain_gen
Rob Parrett Rob Parrett Don't publish climbs with invalid roles c9a0cf7 6 months ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ .claude
๐Ÿ“ data
๐Ÿ“ src
๐Ÿ“„ .gitignore
๐Ÿ“„ pyproject.toml
๐Ÿ“„ README.md
๐Ÿ“„ uv.lock
๐Ÿ“„ README.md

kilterbraingen

Generating kilter board problems with transformers

Usage

Clone the repo

git clone https://github.com/rparrett/kilter_brain_gen
cd kilter_brain_gen

Install dependencies

We're using uv for package and project management.

  • Run uv sync
  • (Windows / CUDA) (TODO, this might be configured correctly in pyproject.toml)

Get climb data

  • Install sqlite
  • Use boardlib, or extract the database from a kilter apk file, or ask someone who has it.
  • Move that database to data/climbs.sqlite3
  • Run uv run src/data/get_csv.py

Train the climb_gpt model

uv run src/climb_gpt/train.py

Generate some climbs

uv run src/climb_gpt/generate.py

Run the API server

  • uv run flask -A src/api/api.py run
  • Test with curl -X POST -H "Content-Type: application/json" -d '{"prompt":""}' 'http://127.0.0.1:5000/generate'
  • Debug builds of kilter_brain will connect to the local server.

Development

Linting

uv run ruff check

Formatting

uv run ruff format

Monitoring Experiments

uv run tensorboard --logdir models

TODO

  • Train a model for route names that actually works
  • Tidy everything up with a nice CLI framework
  • Add similarity search
  • Somehow specify windows-specific dependencies that grab torch with CUDA support

Experiments

  • Try adding duplicate climbs with randomized frame data (shuffle-frames)
  • Try different sampling strategies for climb data