frag-loop / README.md
hanasaan's picture
Update README.md
96984d6 verified
---
license: other
tags:
- text-generation
- shader
- glsl
- shadertoy
library_name: pytorch
pipeline_tag: text-generation
model_name: Frag Loop
---
# Frag Loop
Frag Loop is a decoder-only Transformer trained to generate **Shadertoy-compatible GLSL fragment shader bodies**. The model outputs the body only (functions + `mainImage`), and is intended to be wrapped by a fixed WebGL2/Shadertoy template at runtime.
## Intended Use
- **Primary**: generate novel GLSL fragment shader bodies compatible with Shadertoy-style templates.
- **Not intended for**: general chat, safety-critical systems, or production code generation without review.
## Training Data (Summary)
- **Pretraining**: GLSL-heavy subset of **The Stack (bigcode/the-stack-dedup)**.
- **Fine-tuning (SFT)**: **Vipitis/Shadereval-inputs** (Shadertoy-oriented subset).
These datasets contain code under multiple licenses. If you redistribute outputs or data, ensure provenance and license compliance.
## Tokenizer
The tokenizer implementation is **heavily influenced by nanochat**:
- https://github.com/karpathy/nanochat
## Training Procedure (High-level)
- Decoder-only Transformer (GPT-style) trained from scratch.
- Pretrain on GLSL-heavy corpus, then SFT on Shadertoy-style examples.
- Optional copy-detection and automatic rejection are supported in the runtime.
## Evaluation
- Primary evaluation is **compile + render** for WebGL2 (moderngl), with metrics for:
- compile success
- render time
- black / static detection
- NaN / Inf detection
## How to Use (Recommended Runtime)
The reference runtime + WebUI are provided in the GitHub repo:
- https://github.com/hanasaan/FragLoop
From the `publish/` bundle, you can run:
```bash
# download from HF and start inference server
python infer/inference_server.py --hf-repo hanasaan/frag-loop
# start UI server
node ui_optional/server_node/server.js
```
Open `http://localhost:5173` in a browser.
## Limitations
- Outputs may occasionally fail to compile or render.
- The model can still produce outputs similar to training data. Use copy-detection when displaying or distributing outputs.
- Shader aesthetics and performance vary; manual curation is recommended for showcases.
## Acknowledgements
- Tokenizer influenced by **nanochat** (https://github.com/karpathy/nanochat).
- All implementation work in this repository was done by **GPT-5.2-Codex (xhigh)**.
## License
This model is trained on datasets with mixed licenses. Please review and comply with dataset licensing terms when using or redistributing the model or outputs.