JarrettYe commited on
Commit
e23b1ad
·
verified ·
1 Parent(s): f106a6b

update to fsrs-optimizer v5.6.0

Browse files
Files changed (2) hide show
  1. app.py +14 -3
  2. requirements.txt +1 -1
app.py CHANGED
@@ -37,6 +37,8 @@ def optimizer(
37
  revlog_start_date,
38
  filter_out_suspended_cards,
39
  requestRetention,
 
 
40
  progress=gr.Progress(track_tqdm=True),
41
  ):
42
  os.chdir(home_path)
@@ -50,7 +52,7 @@ def optimizer(
50
  raise ValueError(
51
  "File must be an Anki deck/collection file (.apkg or .colpkg) or a csv file."
52
  )
53
- if timezone == "":
54
  raise ValueError("Please select a timezone.")
55
  now = datetime.now()
56
  files = [
@@ -66,7 +68,7 @@ def optimizer(
66
  proj_dir = Path(f"projects/{prefix}/{suffix}")
67
  proj_dir.mkdir(parents=True, exist_ok=True)
68
  os.chdir(proj_dir)
69
- optimizer = Optimizer()
70
  if mode == "anki":
71
  optimizer.anki_extract(file.name, filter_out_suspended_cards)
72
  else:
@@ -77,7 +79,7 @@ def optimizer(
77
  ).replace("\n", "\n\n")
78
  optimizer.define_model()
79
  optimizer.pretrain(verbose=False)
80
- optimizer.train(verbose=False)
81
  print(optimizer.w)
82
  w_markdown = get_w_markdown(optimizer.w)
83
  optimizer.predict_memory_states()
@@ -159,6 +161,13 @@ with gr.Blocks() as demo:
159
  value="2006-10-05",
160
  label="Revlog Start Date: Optimize review logs after this date.",
161
  )
 
 
 
 
 
 
 
162
  with gr.Row():
163
  btn_plot = gr.Button("Optimize!")
164
  with gr.Row():
@@ -184,6 +193,8 @@ with gr.Blocks() as demo:
184
  revlog_start_date,
185
  filter_out_suspended_cards,
186
  requestRetention,
 
 
187
  ],
188
  outputs=[w_output, markdown_output, plot_output, files_output],
189
  )
 
37
  revlog_start_date,
38
  filter_out_suspended_cards,
39
  requestRetention,
40
+ enable_short_term,
41
+ recency_weight,
42
  progress=gr.Progress(track_tqdm=True),
43
  ):
44
  os.chdir(home_path)
 
52
  raise ValueError(
53
  "File must be an Anki deck/collection file (.apkg or .colpkg) or a csv file."
54
  )
55
+ if not timezone:
56
  raise ValueError("Please select a timezone.")
57
  now = datetime.now()
58
  files = [
 
68
  proj_dir = Path(f"projects/{prefix}/{suffix}")
69
  proj_dir.mkdir(parents=True, exist_ok=True)
70
  os.chdir(proj_dir)
71
+ optimizer = Optimizer(enable_short_term=enable_short_term)
72
  if mode == "anki":
73
  optimizer.anki_extract(file.name, filter_out_suspended_cards)
74
  else:
 
79
  ).replace("\n", "\n\n")
80
  optimizer.define_model()
81
  optimizer.pretrain(verbose=False)
82
+ optimizer.train(verbose=False, recency_weight=recency_weight)
83
  print(optimizer.w)
84
  w_markdown = get_w_markdown(optimizer.w)
85
  optimizer.predict_memory_states()
 
161
  value="2006-10-05",
162
  label="Revlog Start Date: Optimize review logs after this date.",
163
  )
164
+ enable_short_term = gr.Checkbox(
165
+ value=True,
166
+ label="Enable short-term component in FSRS model",
167
+ )
168
+ recency_weight = gr.Checkbox(
169
+ value=True, label="Enable recency weight in training"
170
+ )
171
  with gr.Row():
172
  btn_plot = gr.Button("Optimize!")
173
  with gr.Row():
 
193
  revlog_start_date,
194
  filter_out_suspended_cards,
195
  requestRetention,
196
+ enable_short_term,
197
+ recency_weight,
198
  ],
199
  outputs=[w_output, markdown_output, plot_output, files_output],
200
  )
requirements.txt CHANGED
@@ -1 +1 @@
1
- FSRS-Optimizer==5.3.0
 
1
+ FSRS-Optimizer==5.6.0