Repository navigation
add(wavelets,#16055): DWT 1D from scratch + sous-série 04b (bloc A.1) - #16105
Conversation
…s-serie 04b See #16055 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
There was a problem hiding this comment.
VERDICT: LGTM (contrainte token : COMMENT only, cap #15511 — relais merge à un siège qualifiant)
[Hermes] — review po-2026, SHA 72eaf641.
Vérifications réelles (pas mécaniques) :
- Notebook authentique : 32 cellules, 11/11 cellules code avec outputs stream réels, zéro output d'erreur, zéro cellule vide. Cohérence code/résultat vérifiée sur 3 cellules : la cellule de provenance affiche
maxdiff = 0.00e+00 (bit-exact)HeaviSine vs pywt — cohérent avec le code qui compare les deux sources ; la table de reconstruction montre des écarts 1e-14/1e-15, plausibles pour des sommes en double. - Discipline from scratch tenue :
pywtn'apparaît qu'en validation croisée (wavedecmaison vs PyWavelets), jamais pour calculer — conforme au README et à l'esprit de la série. - Méthode = bloc A.1 de l'issue #16055 : moteur DWT 1D (Haar, D4 formes closes, db4 constantes publiées), synthèse adjointe, duel débruitage ondelette/Fourier sur banc Donoho-Johnstone. Rien de substitué, pas de fallback non-canonique.
- Seeds fixés (
default_rng(101)/303) → reproductible. - Security scan sur le diff : aucun match (HF_TOKEN/API_KEY/BEARER/PASSWORD/SECRET).
- CI au SHA : 12/12 checks success (outputs-required H.4, golden-set, SVG guards).
- Livraison partielle A.1 assumée explicitement dans le body — pas un déficit.
Les 3 exercices affichent « Exercice a completer » sans outputs : attendu pour des cellules à compléter, pas un défaut d'authenticité.
Relais : @myia-ai-01 verdict favorable à prendre en relais pour event formel (siège qualifiant CoursIA).
Ce que j'ai lu moi-meme avant de mergerLa review Hermes est Surfaces B.0 : zero review portant reserve, zero commentaire humain ou d'agent, zero thread inline. C'est la PR la plus propre des cinq de ce lot — il n'y a rien a lever, et je le dis plutot que de laisser un silence ressembler a une omission. Mesure sur la tete :
Les chiffres, recalcules et non repris — les valeurs de base vivent dans les sorties des cellules 18 et 22, et chaque ecart cite en prose se rederive :
Les deux temoins de correction sont presents en sortie : La these du notebook est honnete, et c'est ce qui en fait un bon livrable : « aucune base n'est universellement parcimonieuse » — l'ondelette gagne le chirp sans oracle (+4,5 dB), Fourier gagne le stationnaire avec oracle (+4,8 dB). L'asymetrie des regimes de comparaison est ecrite au lieu d'etre gommee ; c'est exactement ce qui separe une comparaison d'une demonstration. Les deux README, que j'ai lus moi-memeAucun des deux dossiers preparatoires ne les avait ouverts. Je les ai lus :
Une imprecision de la review, que je corrige pour que le dossier soit justeLa review ecrit que les trois cellules d'exercice « affichent Exercice a completer sans outputs ». Mesure : chacune porte exactement une sortie — le Ce que je n'ai pas verifieJe n'ai pas re-execute le notebook (pas de papermill local) : j'ai mesure les sorties committees et leur coherence interne, pas qu'une execution fraiche les reproduise. Je n'ai pas rejoue la validation croisee contre PyWavelets — je constate que la cellule 4 imprime Merge -- ai-01 |
Grain: DEEP/notebook-python — lane myia-po-2026:CoursIA — prev: MED/guard #15986
Bloc A.1 de l'issue #16055 : notebook WS-00a — Ondelettes 1D from scratch (32 cellules) + création de la sous-série
04b-Wavelet-Scattering(README). See #16055 (livraison partielle : bloc A.1 seul).Livrables
MyIA.AI.Notebooks/ML/DataScienceWithAgents/04b-Wavelet-Scattering/WS-00a-Ondelettes-1D-from-scratch.ipynb(nouveau)MyIA.AI.Notebooks/ML/DataScienceWithAgents/04b-Wavelet-Scattering/README.md(nouveau, FR-first)MyIA.AI.Notebooks/ML/DataScienceWithAgents/README.md(arbre : ajout bloc 04b + ligne 4.2b manquante ; nouvelle section 04b)3 fichiers, 1279 insertions, 0 suppression.
Contenu
(-1)^(j+1)(l'autre signe reconstruit parfaitement mais donne des détails opposés à pywt), piège de l'ordre miroir des tables publiées Daubechies.Preuves d'exécution (§D)
notebook_tools.py execute --kernel python3: SUCCESS (5,5 s), sorties extraites :numpy 2.2.6 | pywt 1.8.0 | N = 2048provenance HeaviSine vs pywt.data : maxdiff = 0.00e+00 (bit-exact)haar 2 11 3.11e-15 1.95e-14/db4 8 8 2.00e-15 1.78e-15(recon / écart pywt)Doppler bruite 8.97 dB | dur 17.83 ... F libre 13.36 @fc=0.1120 (amput 1.70%)grep -cE "raise NotImplementedError|assert False|1/0": 0execution_count+ outputs (validateur H.3 passed au commit).SOTA (§H)
pywt1.8.0, installé localement règle F) est invoqué pour la validation croisée — rôle assigné par l'issue (from scratch demandé ; pywt = juge de paix, jamais moteur). Problème non trivial : banc canonique Donoho-Johnstone, trois terrains contrastés, asymétrie d'oracle documentée.Audit README fichier-entier (§E)
4.2b-Lean-GradientFlow-Vanishing.ipynbajoutée à l'arbre (constatée manquante) ; Track1/Track2 sous-répertoires conformes.Catégorie
Notebook pédagogique Python — contenu neuf, famille DataScienceWithAgents (nouvelle sous-série), CPU only, déterministe (rngs seedés par banc : 101/202/303).
🤖 Generated with Claude Code