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机器学习

Download history 1909/week @ 2024-05-04 1969/week @ 2024-05-11 1578/week @ 2024-05-18 3566/week @ 2024-05-25 2529/week @ 2024-06-01 4115/week @ 2024-06-08 1945/week @ 2024-06-15 1372/week @ 2024-06-22 2626/week @ 2024-06-29 1606/week @ 2024-07-06 1649/week @ 2024-07-13 1238/week @ 2024-07-20 1819/week @ 2024-07-27 2408/week @ 2024-08-03 1330/week @ 2024-08-10 1256/week @ 2024-08-17

每月下载量 6,963
用于 flashy

BSD-3-Clause

175KB
4.5K SLoC

FSRS for Rust

crates.io

该包包含用于训练 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