| name | train |
| description | Train a FineType CharCNN model with hardware auto-detection (Metal/CUDA/CPU) |
| user-invocable | true |
Train a FineType Model
Run from the finetype repo root (~/github/noon-org/finetype/).
Quick Start
./scripts/train.sh --samples 100 --size small --epochs 2
./scripts/train.sh --samples 1000 --size small --epochs 10
./scripts/train.sh --samples 5000 --size large --epochs 15 --seed 42
Architecture Presets
| Preset | embed_dim | num_filters | hidden_dim |
|---|
| small | 32 | 64 | 128 |
| medium | 64 | 128 | 256 |
| large | 128 | 256 | 512 |
Override individual params: --embed-dim 64 --num-filters 128 --hidden-dim 256
Hardware Detection
- macOS -> Metal GPU (Apple Silicon)
- Linux + NVIDIA -> CUDA GPU
- Otherwise -> CPU fallback
The script passes --features metal or --features cuda to Cargo automatically.
What It Does
- Generate training data (
finetype generate --samples N)
- Build CLI with correct hardware features
- Train CharCNN with progress display (epoch/loss/accuracy/ETA)
Output goes to models/char-cnn-vN/ (auto-incremented). Training log saved alongside.
All Flags
--samples N Samples per type (default: 1000)
--size PRESET small|medium|large (default: small)
--epochs N Training epochs (default: 10)
--seed N Random seed (default: 42)
--embed-dim N Override embedding dimension
--num-filters N Override CNN filters
--hidden-dim N Override hidden layer dimension
--model-name NAME Output dir name (default: auto char-cnn-vN)
--data FILE Use existing NDJSON (skip generation)
After Training
./scripts/eval.sh --model models/char-cnn-vN
./scripts/package.sh models/char-cnn-vN