标题捏他 “从群众中来 到群众中去”
上文
既然 rust 项目写了, 绑定回 python 也是很自然的想法.
于是先用小项目练了一下手, 把坑都踩了一遍. 然后移植本体.
一些很有趣的事情
在别人的 macos 上
一整个优化库, wheel 大小才 6M, 所以本体完全可以直接发布, 不提供精简版了.
作为对比, 原来的依赖了 torch, 体积 + 安装难度都大.
release 时也是灾难, 支持的版本 * 架构 * 系统, 好在自动全解决了.
Uploading 95 packages
效果是

完全一致 $ FSRS_RS=1 FSRS_NO_OUTLIER=1 THREADS=1 python script.py Processed 10: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [01:56<00:00, 11.67s/it] $ DEV_MODE=1 THREADS=1 python script.py Processed 10: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [01:50<00:00, 11.00s/it] 甚至只比 torch 慢 6s
装 torch 可不止 6s
于是最终革掉了 torch.
由于 sdk 搭起来了, 也顺便部分动摇了 anki
后记: 用 napi-rs 也写了一版, 是 wasm 的 2x
后后记
最终决定用 host 语言实现简单的部分,涉及深度学习的部分用 rust 导出的对应 api 实现。这样我就不用抄一遍 api 了。
相关感想