30 个版本 (9 个稳定版)
新 1.2.0 | 2024 年 8 月 22 日 |
---|---|
1.1.4 | 2024 年 7 月 28 日 |
0.6.4 | 2024 年 5 月 16 日 |
0.6.0 | 2024 年 3 月 31 日 |
#61 在 机器学习 中
每月下载量 6,963
用于 flashy
175KB
4.5K SLoC
FSRS for Rust
该包包含用于训练 FSRS 参数和使用它们来安排卡片的高级 Rust API。
自由间隔重复调度器 (FSRS) 是一种现代间隔重复算法。它基于 SuperMemo 的创造者 Piotr Wozniak 提出的 DSR 模型。
FSRS-rs 是 FSRS 的 Rust 实现。它旨在用于流行的间隔重复软件 Anki。Anki 23.10 已经将 FSRS 集成为替代调度器。
有关算法的更多信息,请参阅 FSRS 的维基页面。
快速入门
阅读 此内容 以确定您的用例的最佳保留率。
// Pick to your liking (see above)
let optimal_retention = 0.75;
// Use default parameters/Weights for scheduler
let fsrs = FSRS::new(Some(&[]))?;
// Create a completely new card
let day1_states = fsrs.next_states(None, optimal_retention, 0)?;
// Rate as `hard` on first day
let day1 = day1_states.hard;
dbg!(&day1); // scheduled as `in 4 days`
// Now we review the card 2 days later
let day3_states = fsrs.next_states(Some(day1.memory), optimal_retention, 2)?;
// Rate as `good` this time
let day3 = day3_states.good;
dbg!(day3);
开发
添加
#!/bin/sh
cargo fmt
cargo clippy -- -D warnings
git add .
到 .git/hooks/pre-commit
,然后 chmod +x .git/hooks/pre-commit
依赖关系
~38–74MB
~1.5M SLoC