gen_data scaricato in extern/ (gitignorato) con scarica_gen_data.sh; test di validazione e documentazione collegati
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5e8ed1a8a1
commit
875d480df1
9 files changed
+75
-17
No files matched your search
+4
-4
@@ -2,7 +2,7 @@
|
||||
|
||||
Ogni assunzione ha un identificativo (A1, A2, …) richiamato nel codice e negli altri documenti. Per ognuna: cosa si assume, perché è
|
||||
ragionevole, **dove** il codice ne dipende e **cosa succede se è falsa**. Le assunzioni sul segnale valgono per i dati del generatore
|
||||
`../gen_data` (sezione finale): su dati reali vanno verificate.
|
||||
`extern/gen_data` (sezione finale): su dati reali vanno verificate.
|
||||
|
||||
## Dati
|
||||
|
||||
@@ -54,10 +54,10 @@ ragionevole, **dove** il codice ne dipende e **cosa succede se è falsa**. Le as
|
||||
| **A23** | Il **riscaldamento non si fitta** (2–4 campioni). Il salto $\Delta$ si stima nell'ordine da: modelli dei domini adiacenti valutati all'istante del gradino; misura riportata a quell'istante con $c$ e $\tau$ del raffreddamento finale; misura sui campioni ($y_\text{fine salita} - y_\text{prima}$), che è per difetto (fino a ≈ 10–20 %: parte della salita cade sul campione precedente e l'ultimo campione è già decaduto) | `analisi._gradino`, `analisi._affina_salti` |
|
||||
| **A24** | I **modelli provati** sono fissati per tipo di dominio in configurazione, non scelti dal programma | `[fit.modelli_per_tipo]` |
|
||||
|
||||
## Origine dei dati di prova (`../gen_data`)
|
||||
## Origine dei dati di prova (`extern/gen_data`)
|
||||
|
||||
I CSV di prova si generano con `../gen_data`, che a ogni corsa (seed) **sorteggia** i parametri da intervalli: ogni seed è un segnale diverso
|
||||
(dettaglio: `../gen_data/docs/SPEC.md` e `../gen_data/config.toml`). Gli intervalli che fondano le assunzioni sopra:
|
||||
I CSV di prova si generano con `extern/gen_data`, che a ogni corsa (seed) **sorteggia** i parametri da intervalli: ogni seed è un segnale diverso
|
||||
(dettaglio: `extern/gen_data/docs/SPEC.md` e `extern/gen_data/config.toml`). Gli intervalli che fondano le assunzioni sopra:
|
||||
|
||||
| Aspetto | Valore nel generatore | Assunzioni |
|
||||
|---|---|---|
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ di secondo (pochi campioni, **riscaldamento**) e subito dopo decade verso l'ambi
|
||||
centro lo zoom sui tre gradini, in basso la tabella che associa a ogni numero tipo, intervallo ed equazione. Il riscaldamento è rosso, il riposo grigio e
|
||||
ogni raffreddamento ha un colore diverso. Con 3 gradini i domini sono $1 + 2\cdot 3 = 7$.*
|
||||
|
||||
Il generatore dei dati di prova è il repository fratello `../gen_data` (modello e parametri: `../gen_data/docs/SPEC.md`): a ogni seed sorteggia numero
|
||||
Il generatore dei dati di prova è il repository `gen_data` (clonato in `extern/gen_data` con `./scarica_gen_data.sh`) (modello e parametri: `extern/gen_data/docs/SPEC.md`): a ogni seed sorteggia numero
|
||||
dei gradini (1–3), costante di tempo, rumore e disturbi, quindi ogni file ha una struttura diversa. Le sue caratteristiche che contano per `fitseg` sono
|
||||
elencate in [assunzioni.md](assunzioni.md), sezione «Origine dei dati di prova».
|
||||
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
|---|---|---|---|
|
||||
| **Unitari** | `test_domini`, `test_fit`, `test_selezione`, `test_config_dati` | segnale sintetico generato nei test (`conftest.py`) | niente |
|
||||
| **Report e CLI** | `test_report`, `test_cli` | CSV sintetici scritti in una cartella temporanea | niente |
|
||||
| **Validazione** | `test_validazione` | 20 seed generati al volo da `../gen_data`, confrontati con i suoi **parametri veri** | il repository fratello `../gen_data` (altrimenti i test sono saltati) |
|
||||
| **Validazione** | `test_validazione` | 20 seed generati al volo da `extern/gen_data`, confrontati con i suoi **parametri veri** | `extern/gen_data`, da scaricare con `./scarica_gen_data.sh` (altrimenti i test sono saltati) |
|
||||
|
||||
Nessun test usa i file in `input/`: i test girano su un clone nuovo e non dipendono dal contenuto di quella cartella.
|
||||
|
||||
@@ -30,7 +30,7 @@ costruire casi particolari; `scrivi_csv(...)` scrive un CSV nel formato di `gen_
|
||||
|
||||
## Validazione contro i parametri veri (`test_validazione.py`)
|
||||
|
||||
`../gen_data` sorteggia a ogni seed i parametri di una corsa (numero e istanti dei gradini, ampiezze, $k$, rumore, scarti: [assunzioni.md](assunzioni.md), «Origine dei dati di
|
||||
`extern/gen_data` sorteggia a ogni seed i parametri di una corsa (numero e istanti dei gradini, ampiezze, $k$, rumore, scarti: [assunzioni.md](assunzioni.md), «Origine dei dati di
|
||||
prova»). Poiché il sorteggio è riproducibile (`genera.sorteggia(cfg, default_rng(seed))`), per ogni seed si conoscono i valori veri. Il test, per i seed 1–20,
|
||||
genera il CSV, lancia l'analisi e controlla:
|
||||
|
||||
|
||||
+5
-3
@@ -22,12 +22,14 @@ t_ms,T_C,dT_C
|
||||
301,22.63,0.03
|
||||
```
|
||||
|
||||
I CSV di prova si generano con il repository fratello `../gen_data` (modello: `../gen_data/docs/SPEC.md`). A ogni seed il generatore sorteggia numero dei gradini
|
||||
I CSV di prova si generano con il repository `gen_data` (modello: `extern/gen_data/docs/SPEC.md`), che non fa parte di questo repository: lo scarica
|
||||
`./scarica_gen_data.sh` in `extern/gen_data` (cartella ignorata da git; `-u` lo aggiorna, `GEN_DATA_URL` cambia l'indirizzo, ad es. per SSH). Serve anche ai test di validazione ([test.md](test.md)). A ogni seed il generatore sorteggia numero dei gradini
|
||||
(1–3), costante di tempo, rumore e disturbi: ogni file ha una struttura diversa.
|
||||
|
||||
```bash
|
||||
./scarica_gen_data.sh
|
||||
mkdir -p input
|
||||
(cd ../gen_data && .venv/bin/python genera.py config.toml --seed 7 -o ../EquationMiner/input/gen_7.csv)
|
||||
(cd extern/gen_data && ../../.venv/bin/python genera.py config.toml --seed 7 -o ../../input/gen_7.csv)
|
||||
```
|
||||
I test **non** richiedono questi file: generano i dati da soli ([test.md](test.md)).
|
||||
|
||||
@@ -80,7 +82,7 @@ Gli errori sono stampati su stderr in italiano come `Errore: …`.
|
||||
./pulisci.sh -y # tutto, senza chiedere conferma
|
||||
```
|
||||
Cancella: il contenuto di `output/` (cartella di `[output] cartella_output`: risultati che si rifanno rilanciando `fitseg analizza`) e i file `*.csv` in `input/`
|
||||
(i dati grezzi: **non** si rigenerano da soli, si rifanno con `../gen_data`, §2, per questo chiede conferma salvo `-y`). Le cartelle e i loro `.gitkeep`
|
||||
(i dati grezzi: **non** si rigenerano da soli, si rifanno con `./scarica_gen_data.sh` e `genera.py`, §2, per questo chiede conferma salvo `-y`). Le cartelle e i loro `.gitkeep`
|
||||
restano; i file di `input/` che non sono `.csv` non si toccano. Rifiuta percorsi di output assoluti o con `..`. Codici di uscita: 0 ok (o niente da pulire), 1 annullato o
|
||||
percorso non sicuro, 2 opzione sconosciuta.
|
||||
|
||||
|
||||
Reference in new issue
Block a user