Long time no see, guys! Recently, Anki has updated to 2.1.55 with the support of custom scheduling with memory states. Today I want to introduce how to use the FSRS4Anki custom scheduling.
FSRS4Anki, aka Free Spaced Repetition Schedule for Anki, is based on the three-component model of memory proposed by Piotr Wozniak and the stochastic shortest path algorithm introduced in my paper. It makes great progress in memory prediction and scheduling optimization.
FSRS4Anki currently only supports Anki for desktop computers and version >= 2.1.55.
Download site: Anki — powerful, intelligent flashcards (ankiweb.net)
But you can also review on your phone, then use the FSRS4Anki Helper on your computer to re-schedule the review (using the card’s entire review history, including your review logs on your phone).
Anki → Preferences → Scheduling → V3 scheduler
fsrs4anki repository → fsrs4anki_scheduler.js → Copy raw contents
If you are using Anki Qt5 variants, use fsrs4anki_scheduler_qt5.js
Gear → Options → Custom Scheduling → Save
Congratulations! You are already using the default version of FSRS4Anki. But the parameters of the default version are generated from my review logs, only partially adaptive for you. If you have been using Anki for some time and have accumulated a lot of review logs, you can try FSRS4Anki optimizer to generate parameters for you.
fsrs4anki repository → fsrs4anki_optimizer.ipynb → Open in Colab
To use Colab, you need a Google account.
Anki: Gear → Export → Check “Include scheduling information” and “Support older Anki verions”-> Export
Colab: Folder → Right-click to call up the menu → Upload
Set the filename with the name of the deck file you uploaded.
Set the timezone with your time zone. Here is the full list of timezones: list of pytz time zones (github.com)
Set next_day_starts_at with the “New day starts at” in your Anki.
Runtime → Run all → Go to section 3 Result and wait for the output → Copy the parameters
Replace the parameters in the red box in the picture and save them.
Set parameters separately for a specific deck:
Debug custom scheduling:
The memory model of FSRS:
The optimization principle of the algorithm:
I hope my work could help you~