Repository navigation
fix(notebook): rendre DL 3.1 reproductible - #16199
Conversation
Co-Authored-By: Claude Code <noreply@anthropic.com>
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
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
|
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
L’advisory prose/output a été reproduit sur la tête et sur Les détections héritées mélangent notamment des numéros de sections ( |
|
Diagnostic du check requis \PR gate\ : l’agrégateur a attendu puis confirmé 76 checks verts. Son unique motif d’échec est le plancher automatique DWELL : tête créée le 14 septembre 2026 à 18:46:55 UTC, âge 9 min au verdict, plancher 120 min, échéance 20:46:55 UTC. Le workflow indique qu’un balayage horaire ré-agrégera automatiquement le gate après l’échéance et qu’aucun geste manuel n’est requis. Aucun défaut de contenu, rerun aveugle, changement de SHA ni waiver d’urgence n’est donc justifié ; la PR reste honnêtement bloquée jusqu’au balayage post-dwell. |
myia-ai-01
left a comment
There was a problem hiding this comment.
Exact-head review of 0b8282a80bd3e7b4bb7623bfadb322478b63d84c complete.
APPROVE — the notebook reproducibility repair is narrow and honestly re-executed. The only source changes are global NumPy/PyTorch seeding plus portable execution metadata; 11/11 code cells execute sequentially without errors, papermill metadata is coherent, exercise count remains 4, and every metric quoted in the PR body matches the committed outputs. The small gradient-check drift remains orders of magnitude below its threshold and is consistent with the seeded rerun.
Verified: latest checks green after dwell, no open collision, no unresolved thread or closing issue reference, and nits clear. See #13504 correctly leaves the umbrella open.
Grain: MED/notebook-python — lane myia-po-2025:CoursIA — prev: DEEP/notebook-lean #16124
Résumé
np.random.seed(SEED)ettorch.manual_seed(SEED), en conservant lesRandomState(SEED)déjà injectés dans les calculs ;Python, durée selon la machine) ;python3et committe les sorties obtenues ;metadata.papermill.input_pathetoutput_pathvers le basename, sans modifier manuellement aucune sortie.Périmètre : une source,
MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.1-Retropropagation.ipynb.See #13504
Diagnostic dérive
Verdict :
CAUSE_FIXED.Le classifieur trouvait 15 valeurs drainables : 2
ENV-DEPet 13STOCHASTIQUE-NON-SEEDEE. Les calculs NumPy utilisaient déjà des générateurs locauxRandomState(SEED), mais le contrat global de reproductibilité n'était ni déclaré ni visible dans les sorties ; PyTorch n'avait pas non plus de seed globale explicite. La cause est corrigée dans les cellules source, puis le notebook a été entièrement ré-exécuté. Les deux observations d'environnement de l'en-tête ont été reformulées sans ré-épingler une version ou un temps machine.Mesure canonique
scan_quant_classify.py:MACHINE-DEPENV-DEPSTOCHASTIQUE-NON-SEEDEELes 139 constats restants sont tous
STRUCTURELet constituent du contenu pédagogique stable.Exécution réelle
Exécution Jupyter/Papermill en place sous kernel
python3:Les 11 cellules code portent chacune un
execution_countnon nul (1 à 11) et au moins une sortie. Le validateur PR conclut :Extraits des nouvelles preuves de reproductibilité :
Les résultats centraux restent cohérents :
Aucune sortie n'a été éditée manuellement.
Validation
scan_quant_classify.py --notebook … --check: 15 → 0 drainable ;validate_pr_notebooks.py origin/main --json: 11/11,EXEC_PROVED;check_output_failure_text.py origin/main --json: 1 notebook changé, 0 régression,TOOL_FAILURE0→0,MACHINE_PATH0→0 ;check_source_output_ratchet.py origin/main --json: les deux cellules source modifiées sontEXECUTED, 0 régression ;check_papermill_ratchet.py origin/main --json:BLOCK_ADDED, 0 régression ;detect_papermill_path_leak.py --scan … --outputs --nonpii --check --summary: 0 défaut après normalisation des deux champs de métadonnées ;scan_machine_path_outputs.py --checksur le dossier : 14 notebooks scannés, 0 occurrence ;git diff --check: succès.Le validateur générique signale encore six warnings lexicaux « possible unbalanced LaTeX » sur des cellules de formules inchangées. Ils préexistaient à cette tranche ; les organes bloquants
latex-control-chars/rendu markdown n'ont aucune nouvelle violation.Verdict SOTA
SOTA-OK: le notebook exécute réellement NumPy, scikit-learn et PyTorch sur CPU ; aucune réimplémentation de substitution, sortie fabriquée ou contournement d'environnement n'est introduit.🤖 Generated with Claude Code