-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate the FSRS optimizer #2633
Conversation
This needs UI polish, translations, and testing across platforms. Help would be welcome. |
Currently failing to build on both Android and iOS - will investigate more tomorrow. Edit: fixed |
The way it's currently implemented, the collection is locked until calculation completes, as it was a bit simpler to implement. I've pushed a change that will cancel the operation if you close the window, which should avoid the freezing. A PoisonError indicates that the code has previously panicked, and means Anki should be shut down. If you can trigger this again, please check the console for the original panic, as that will tell us more than the poison error does. I found one instance where it can panic when running in debug mode: open-spaced-repetition/fsrs-rs@3229131 I didn't know what to name those two floats, so I just called them out1/out2 for now. What do you suggest we name them? |
LogLoss and RMSE. |
When I click
|
That's caused by the .expect() in fsrs-optimizer/src/dataset.rs:59:14. If the same collection works when testing with fsrs-optimizer directly, it would seem to indicate a bug in Anki's version of fsrs_to_anki. If you're able to provide me the source file you're using privately (you can strip out notes table), I'll see if I can reproduce. |
The cancellation check happens at the end of each batch - if a single batch takes quite a while, cancellation might not happen immediately. |
I removed the contents of all cards. |
Hmm, I imported that .apkg into a fresh profile, and training worked until completion. Which deck/options group are you testing with? Did you use a custom search? |
Training works in my test. But the |
Check works for me too, but it doesn't currently show any progress, so you need to wait until it completes. If you run Anki with tools/runopt, it will be a bit faster. |
(if you have any other suggestions on how I should trigger that panic, I'd appreciate them - definitely want to get any crashing bugs fixed before this makes it into a stable release) |
I couldn't reproduce the panic now. But I noted that these following steps will freeze Anki:
|
I can't reproduce this - did you update to the latest commit on this branch? |
Yeah, I pulled the latest commit. |
Hmm. I wonder why we're seeing different things. |
|
Thanks, this was fixed in open-spaced-repetition/fsrs-rs@424fe1c Weight checking now shows progress and should be much faster. |
Would you be able to record a short video that shows what's happening? I can't seem to reproduce it. |
20230905-103534.mp4 |
Ah, thanks, I was testing with the Main deck you shared earlier. I can reproduce it with the collection you shared, and will dig into it. |
Should be fixed now. |
|
Can you generate de beta packages for testing? I'm have a different dev environment here, and i no want to install python env in my desk at this time ... But i really want to help testing this new FSRS optimizer integrated ... Regards |
There are some other changes I'd like to get in before building a beta - it could be a week to a few weeks. |
No description provided.