Algorithm tuning
FSRS ships with sensible defaults that work well out of the box. Once you’ve accumulated ~100 reviews, you can train the algorithm’s weights against your own review history and get schedules tailored to your specific forgetting curve — the same kind of thing Anki desktop does, but fully client-side: no server, no telemetry.
How to run it
Section titled “How to run it”Open Settings → Algorithm tuning → Optimize parameters.
- Training runs in seconds for typical decks.
- You’ll see a before/after log-loss comparison.
- Click Apply to use the trained weights, or Discard to keep the defaults.
- Re-train any time to refine the weights as you accumulate more reviews.
Using the trained weights
Section titled “Using the trained weights”Trained weights are global but applied per-profile. To opt a profile in, pick Trained in its FSRS profile dropdown.
- Intensive profiles keep their sub-day defaults.
- Existing card data is preserved through training — nothing is reset.
How it works under the hood
Section titled “How it works under the hood”The optimizer matches the open-spaced-repetition reference methodology: an Adam optimizer over binary cross-entropy loss, a cosine-annealed learning rate, and parameter clipping against the published FSRS-6 bounds. The number of training steps scales with the size of your review history (more reviews → more iterations).
The implementation has been validated against the published FSRS-6 spec (1396/1396 forward-pass cases match bit-exact) and benchmarked against 443M anonymized Anki reviews — the calibration of the shipped defaults agrees with empirical recall to within 0.8 percentage points.