Try it out at genclimb.com)
GenClimb is a generative AI model designed to create climbing routes for Standardized Interactive Climbing Training Boards (SICTBs). Utilizing a seq2seq transformer architecture, GenClimb generates climbs conditioned on specific board layouts and difficulty levels.
Currently, only Kilter Boards are supported.
GenClimb performs inferencing directly in your browser, using WebAssembly. This approach offers several benefits:
- Privacy: Your data stays on your device, with no information sent to external servers.
- Performance: Utilizes ONNX Runtime Web for efficient, on-device inference.
- Edge Computing: Brings AI directly to your device, eliminating the need for server-side processing.
The model is quantized to int8 for improved efficiency.
- Dimension: 256
- Number of Heads: 4
- Number of Layers: 2
- Feed-Forward Dimension: 256
- Dropout: 0.3
- Activation Function: GELU
- Layer Normalization Epsilon: 1e-5
- Device: CUDA
- Learning Rate: 1e-4
- Epochs: 8
- Weight Decay: 0.015
- Batch Size: 64
- Train/Test Split: 90/10
Special thanks to lemeryfertitta for the BoardLib utility, which was instrumental for getting the data.
- Integration with Kilter Account to save climbs.
- Improved inference efficiency through the use of KV caching and encoder caching.
- Clone this repository:
git clone https://github.com/mstafam/GenClimb.git
- Navigate to the project directory:
cd GenClimb
- Install dependencies:
npm install
- Start the application:
npm start
The app should launch at http://localhost:3000.