Anki 23.10 Beta 1-4

You can reduce your daily number of reviews by setting your retention lower (again, not in the beta version). In Anki, you can’t reschedule all cards at once, so this is one of the things that FSRS can do that Anki cannot - you can decrease/increase your daily workload with a single click of a button. That being said, FSRS isn’t magic, so if you have a lot of material to learn or if you need very high retention (say, for an exam), there’s only so much FSRS - or any other decently accurate SR algorithm - can do.

1 Like

Definitely true. This is where the fine balance comes. I look at this from two angles because I use it for language learning and for medicine. Both utilize many parts of SRS, but need a different approach. I’m confident we can find a balance, I just need to invest more time in it. I plan to do that though and hopefully make a youtube video so that others can join and feel more confident using FSRS

Glad to have helped! I was having a bad time before I figured it out lol.

I am having another minor issue I felt I should post here (though it seems very likely to get discovered eventually, if not already)

When switching the toggle in the browser from cards to notes, I get this error, regardless of which field I’m using to sort.

Error
An error occurred. Please use Tools > Check Database to see if that fixes the problem.
If problems persist, please report the problem on our support site. Please copy and paste the information below into your report.
Anki 23.10 (d2f392ff) Python 3.9.15 Qt 6.5.2 PyQt 6.5.2
Platform: Windows-10-10.0.22621
Flags: frz=True ao=False sv=3
Add-ons, last update check: 2023-09-29 17:09:34

Caught exception:
Traceback (most recent call last):
  File "aqt.webview", line 608, in handler
  File "aqt.editor", line 593, in <lambda>
  File "aqt.utils", line 1211, in <lambda>
  File "aqt.browser.browser", line 613, in on_table_state_changed
  File "aqt.browser.table.table", line 193, in toggle_state
  File "aqt.browser.table.model", line 243, in toggle_state
  File "aqt.browser.table.model", line 260, in search
  File "aqt.browser.table.state", line 205, in find_items
  File "anki.collection", line 743, in find_notes
  File "anki._backend_generated", line 1581, in search_notes
  File "anki._backend", line 151, in _run_command
anki.errors.InvalidInput: Can't sort Notes by Retrievability.

You are right to prioritize. In that case, please, do you have any suggestions? @L.M.Sherlock

I think I’m going to need to wait until this gets integrated into Anki to make a youtube tutorial. With how complicated it is and the multiple moving pieces it’ll be better to wait. @L.M.Sherlock are you planning on integrating all parts of the optimizer and such into Anki? When would be best to make a video? I don’t want it to get outdated super quick

3 Likes

Using FSRS, I think that the recommended settings are maybe reduced and simplified.

The big difference is that FSRS doesn’t use the “Ease Factor”. Instead, it uses “Stability”, “Difficulty” and “Retrievability”. According to FSRS4 Github issues, there is a function to alleviate Ease Hell, so the previous solution for Ease Hell is not necessary. FSRS can also be alleviated by changing the retention rate value.

And FSRS4Anki Helper integrates the same functionality as the standard add-ons. So, if FSRS and FSRS4AnkiHelper are used, there is no need to use these Add-ons for adjusting Ease and schedule.

The optimizer has been integrated into Anki in 23.10, but it’s still in beta. And I need to write some documents for these features of built-in FSRS.

1 Like

It would be great. Or automatically reoptimize the parameters every N reviews.

Basically, FSRS should work automatically. Common users will not care about optimalisation every month. So even initial calculation of the parameters could be initiated automatically after FSRS is switched on.

5 Likes

@dae

  1. Replace this error message with “Insufficient data to train the model, at least 1000 reviews are required. Default weights will be used instead.”, and display the default parameters under “Model weights”.
    image
  2. Please investigate the problem that me and @brubsby are having: mouse stuttering when using the default Direct3D driver and Qt5 version of Anki not working at all.
3 Likes

FWIW, I’ve had issues with retro games using Direct3D by default, similar to how Anki Qt6 did for us, and in my investigation with those, Direct3D is just a very old API included for compatibility (last stable release is 8 years ago) that just shouldn’t be the default option for average users.

My other feedback is that the change in topology of how FSRS weights affect decks has thrown my organization scheme for a bit of a loop. What I mean is that previously, the FSRS weights were able to be applied “hierarchically”, in that I could apply them to parent decks, and they would affect all the subdecks, but now I need to apply the weights to each individual subdeck by applying the same preset to each.

I assume the decision to tie the weights to presets, rather than specific decks (and their children), was a conscious design choice. And it does seem to fit the same structure as how SM-2 had “interval algorithm parameters” in the preset menu.

But, now I’m finding it difficult to do what I used to do with FSRS, which is, train one set of weights on every card that I have, apply those weights to my “All” deck that is the most-parent singular deck, and have those “default” weights apply to every deck that doesn’t have enough data to train its own “personal” set of weights.

Now, it seems like if I train a set of weights on the “All” deck, and apply them to the preset on the “All” deck, the weights on the “most-child” or “leaf” decks’ presets can be blank, but it’s unclear if they will be using the parent deck’s weights, or the default FSRS weights. (I assume it’s just the default FSRS weights).

This is also harried by the fact that my previous preset scheme was mostly about deck ordering and sibling burying, which would vary for individual decks within a subject area (as it was based off the particulars of the deck design), but the difficulty of the subject area (and subdeck categorization, which was topic based) would mostly have around the same difficulty, so I would use the same FSRS weights between the decks in a subdeck category.

This is mostly just whinging about having to reorganize, but perhaps can be an informative data point about the design of subdecks vs presets, as the two features usually feel like they are in conflict, if only because there is not a complete list of which properties on the presets percolate down the subdeck ordering and which properties percolate up the subdeck ordering.

2 Likes

I second this. Most people would start to run away when they see all the things they need to do.

1 Like

Please add:

  1. “Collapse all” option in the sidebar panel of decks and tags
  2. Delete option in right click context menu to delete decks easily on decks in the home page
  3. Option to review in the menu by right clicking on the decks in the deck home, to review them without altering the planning, only with the “Again” and “End” buttons.

Yeah, this is a problem. One of the selling points of FSRS is supposed to be that it does all the math for you and you don’t have to worry about the settings anymore (other than desired retention), but it ends up being way more complicated than that.
Maybe we should go the SuperMemo route and have two layouts (SuperMemo has four).

  1. Beginner. When FSRS is enabled, there is only one setting: desired retention. Learning steps are hidden, max. interval is hidden, parameters are hidden, and optimization is performed automatically either every N months or after each N thousand reviews + initially, when the user just enabled FSRS.
    Here is what it would look like:

  2. Professional. The current layout.

Beginner would be the default, and can be changed somewhere in Tools > Preferences.
@dae @L.M.Sherlock what do you think?

7 Likes

For larger collections and slower desktops calculating weights may take a few moments. So if it’s not done in background the user experience may be not good, if app is locked for some time automatically.
Maybe instead of doing it automatically show user a message at startup, that last optimization was long time ago and if they want to run it.

1 Like

I think it’s better to just display a window that says “Optimization in progress” or something like that and show a progress bar rather than doing it in the background.
But that might confuse some people, especially those who are very new to Anki and have just enabled FSRS with the “Beginner” layout.
Also, if dae and others accept the idea of having two different layouts (or levels, whatever you wanna call it), the “Beginner” layout should also hide these settings when FSRS is disabled: learning steps, graduating interval, easy interval, relearning steps, minimum interval, starting ease, easy bonus, interval modifier, hard interval, new interval.

5 Likes

that would improve the UI for people new to anki so much

3 Likes

I noticed something, that may be hard to “measure” properly.
I use “New/review order” set to “Mix with reviews”. “New cards/day” set to 3 per deck and I get 60-100 daily reviews per deck.
I would expect, that new cards are showing when I do approximately 33% of daily reviews, 66% end near the end.
However, what I am observing is that new cards are getting mixed when I do almost all of the reviews: for example, if I have 100 reviews and 3 new cards, then I get 95 reviews in a row and 3 new cards mixed with the last 5 reviews.

Screens for today’s one of the deck reviews:




EDIT
And another example. Different deck, the same preset:

Is that why all these add-ons broke with this?

from anki.sched import Scheduler
ModuleNotFoundError: No module named 'anki.sched'

413416269 Bury related notes
930365039 bury future new sibs
1072815885 Bury Cousins related cards that arent siblings
877182321 Enhance main window
1168065472 Pretzel Logic Retention Benchmarking

Any forecast for beta4?

1 Like

Qt 6.5.1 changed the default driver to Direct3D. Presumably this works better for some people, but if it causes regressions for you, there’s now an option in the preferences screen (as you’ve discovered) to switch back to the older OpenGL option.

Logged on When user selects a field that can't be sorted on, they get stuck on it · Issue #2701 · ankitects/anki · GitHub

Yes, I recommend waiting not only until then, but perhaps a month or two afterwards, as there are still various issues that need to be ironed out.

That’s sort of what the Advanced section is already trying to accomplish. And IMHO, I don’t think ‘desired retention’ is something a beginner should be trying to adjust, but I think learning steps are fairly intuitive.

Are you using the helper, and does it happen if you disable all add-ons?

Yes - if they were monkey patching v2, they’re likely not going to work with v3 anyway.