Spaces:
Sleeping
Sleeping
Restore MDL/fixed fitting toggle (generic labels, no basis families)
Browse files
app.py
CHANGED
|
@@ -107,9 +107,11 @@ feature vectors, and a per-window anomaly score for free.</div>
|
|
| 107 |
""".strip()
|
| 108 |
|
| 109 |
|
| 110 |
-
def run(sample_name: str, csv_file, degree: int, segment_length: int):
|
| 111 |
signal = _load_signal(sample_name, csv_file)
|
| 112 |
-
r = demo_core.run_demo(
|
|
|
|
|
|
|
| 113 |
return _summary(r), plots.fig_reconstruction(r), plots.fig_sigma(r), plots.fig_sizes(r)
|
| 114 |
|
| 115 |
|
|
@@ -123,6 +125,11 @@ def build_ui() -> gr.Blocks:
|
|
| 123 |
label="Sample signal",
|
| 124 |
)
|
| 125 |
csv = gr.File(label="...or upload a numeric CSV", file_types=[".csv"])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
degree = gr.Slider(1, 10, value=5, step=1, label="Model detail")
|
| 127 |
seg = gr.Slider(100, 2000, value=500, step=100, label="Window length")
|
| 128 |
go = gr.Button("Tokenize", variant="primary")
|
|
@@ -132,7 +139,7 @@ def build_ui() -> gr.Blocks:
|
|
| 132 |
with gr.Row():
|
| 133 |
sigma = gr.Plot(label="Anomaly signal")
|
| 134 |
sizes = gr.Plot(label="Stored size")
|
| 135 |
-
inputs = [sample, csv, degree, seg]
|
| 136 |
outputs = [summary, recon, sigma, sizes]
|
| 137 |
go.click(run, inputs, outputs)
|
| 138 |
ui.load(run, inputs, outputs)
|
|
|
|
| 107 |
""".strip()
|
| 108 |
|
| 109 |
|
| 110 |
+
def run(sample_name: str, csv_file, fitting: str, degree: int, segment_length: int):
|
| 111 |
signal = _load_signal(sample_name, csv_file)
|
| 112 |
+
r = demo_core.run_demo(
|
| 113 |
+
signal, basis_mode=fitting, degree=int(degree), segment_length=int(segment_length),
|
| 114 |
+
)
|
| 115 |
return _summary(r), plots.fig_reconstruction(r), plots.fig_sigma(r), plots.fig_sizes(r)
|
| 116 |
|
| 117 |
|
|
|
|
| 125 |
label="Sample signal",
|
| 126 |
)
|
| 127 |
csv = gr.File(label="...or upload a numeric CSV", file_types=[".csv"])
|
| 128 |
+
fitting = gr.Radio(
|
| 129 |
+
choices=[("MDL adaptive selection", "auto"), ("Single fixed basis", "chebyshev")],
|
| 130 |
+
value="auto",
|
| 131 |
+
label="Fitting",
|
| 132 |
+
)
|
| 133 |
degree = gr.Slider(1, 10, value=5, step=1, label="Model detail")
|
| 134 |
seg = gr.Slider(100, 2000, value=500, step=100, label="Window length")
|
| 135 |
go = gr.Button("Tokenize", variant="primary")
|
|
|
|
| 139 |
with gr.Row():
|
| 140 |
sigma = gr.Plot(label="Anomaly signal")
|
| 141 |
sizes = gr.Plot(label="Stored size")
|
| 142 |
+
inputs = [sample, csv, fitting, degree, seg]
|
| 143 |
outputs = [summary, recon, sigma, sizes]
|
| 144 |
go.click(run, inputs, outputs)
|
| 145 |
ui.load(run, inputs, outputs)
|