Repository navigation
[PyMC/DecPyMC] 32 appels pm.sample sans chains explicite : sur la machine d'un étudiant, les sorties committées ne se reproduisent pas #18028
Description
Activity
[CLAIMED] #18028 -- lane myia-po-2024:CoursIA-2 -- paths: MyIA.AI.Notebooks/Probas/PyMC/PyMC-.ipynb,MyIA.AI.Notebooks/Probas/DecisionTheory/DecPyMC/DecPyMC-.ipynb
Tranche 1 du grain DEEP/notebook-python : ajout
chains=4aux 32 appelspm.sample(...)sanschainsexplicite. Recette de #17962 (PyMC-02). Re-exécution C.2 bout-en-bout kernelcoursia-ml-training. VérificationSampling 4 chainsdans les sorties +grep -rl PyMC-06-Debuggingrendu vide (4 notebooks renvoient à un fichier qui n'existe plus, devenuPyMC-02b-Debugging-Python).Cycle c.1506, 2026-09-27T08:48Z.
- added 12 commits that reference this issue
on Sep 27, 2026 - added a commit that references this issue
on Sep 30, 2026 7 remaining items
- added a commit that references this issue
on Oct 2, 2026 Grain: MED/notebook-python — lane myia-po-2023:CoursIA — prev: MED/guard #18816
[CLAIMED] lane myia-po-2023:CoursIA — reliquat #18028 : chains=4 sur les appels pm.sample restants (census au head : PyMC-02 +2, PyMC-02b +1, PyMC-04 +3, PyMC-11 +2 — minimum pigeonhole 8, README exclus comme prose), avec re-execution C.2 des carnets touches. Suite de #18034 (22 fixes) et #18570 (reliquat cellule 38).
paths: MyIA.AI.Notebooks/Probas/PyMC/PyMC-02-Gaussian-Mixtures.ipynb, MyIA.AI.Notebooks/Probas/PyMC/PyMC-02b-Debugging-Python.ipynb, MyIA.AI.Notebooks/Probas/PyMC/PyMC-04-Bayesian-Networks.ipynb, MyIA.AI.Notebooks/Probas/PyMC/PyMC-11-Topic-Models.ipynb[INFO] candidate-delivered — #18028 est integralement livree sur main, preuve par census appel-par-appel au head 82bcea5 :
- Les deux livraisons couvrent le scope : fix(probas,#18028): PyMC/DecPyMC chains=4 sur 22 pm.sample + 4 citations #18034 (chains=4 sur 22 appels + 4 citations, MERGED) et fix(pymc-04,#18028): reliquat cellule 38 -- ajouter chains=4 au second pm.sample #18570 (reliquat cellule 38 de PyMC-04, MERGED 2026-10-02T10:38Z).
- Census paren-matche au head, cellules code uniquement (mentions de prose exclues), sur les 4 fichiers encore en deficit apparent au comptage brut par occurrences : PyMC-02 (4 appels, tous chains=4), PyMC-02b (11 appels, tous chains explicites — dont chains=2 assume sur les cellules debugging cores=1), PyMC-04 (6 appels, tous chains=4, incluant le reliquat fix(pymc-04,#18028): reliquat cellule 38 -- ajouter chains=4 au second pm.sample #18570), PyMC-11 (4 appels, tous chains explicites dont 2x chains=2 sur la cellule 49, cores=1). DecPyMC : 1 a 4 appels par carnet, tous chains explicites.
- Total des appels de code sans chains explicite : 0 sur la serie scopee. Les ecarts sample > chains= du comptage brut sont des mentions de prose (cellules markdown + README, hors scope d execution).
La fermeture reste au coordinateur/adjoint (urne delivered, #15069).
[RELEASED] lane myia-po-2023:CoursIA — claim c.5950828403 leve : grain non repris, le livrable est deja sur main.
Fermeture — urne
delivered, vérifiée surorigin/mainpar ai-01 (05/10)Livrée par #18034 et #18570. Sur main, un recensement des cellules de code de
Probas/PyMCetProbas/DecisionTheory/DecPyMC(parenthèses appariées) ne trouve aucun appelpm.sample(sanschains. Les sorties committées portent « Sampling 4 chains », et plus rien dans Probas ne référencePyMC-06-Debugging.- added 6 commits that reference this issue
on Oct 5, 2026 - added a commit that references this issue
on Oct 5, 2026
Hors flotte — issue ouverte par la session cloud d'agnosticisme (cf.
docs/reference/agent-cloud-agnosticisme.md). La réparation est à prendre par une lane de la flotte. See #17654, sous l'EPIC de parité Linux #10643.Constat
Si
chainsn'est pas passé, PyMC 6 prend par défautmax(2, min(4, cpu_count() // 2))chaînes. Le nombre de chaînes dépend donc de la machine :Les sorties committées indiquent
Sampling 4 chains. Un étudiant qui relance le notebook obtient donc 2 chaînes, avec des ESS, des R-hat, des moyennes a posteriori et des temps différents de ce que la prose commente. Et ce, même avecrandom_seed=42: la graine est découpée par chaîne.Le cas a été mesuré et corrigé sur PyMC-02 dans #17962. Sur un conteneur de 4 threads, la re-exécution donnait 2 chaînes ; après ajout de
chains=4, on retrouve les valeurs de la flotte.Mesure (main
1c8d8841, 2026-09-27)Sont comptés les appels
pm.sample(dont la liste d'arguments ne contient paschains, dans les cellules de code, hors_output.ipynb. Le compte se lit « appels sans chains / appels pm.sample du notebook ».chainsProbas/PyMC/PyMC-04-Bayesian-Networks.ipynbProbas/PyMC/PyMC-08-TrueSkill.ipynbProbas/PyMC/PyMC-10-Model-Selection.ipynbProbas/PyMC/PyMC-09-Classification.ipynbProbas/PyMC/PyMC-01-Setup.ipynbProbas/PyMC/PyMC-03-Factor-Graphs.ipynbProbas/PyMC/PyMC-07-Skills-IRT.ipynbProbas/PyMC/PyMC-11-Topic-Models.ipynbProbas/PyMC/PyMC-15-Recommenders.ipynbProbas/DecisionTheory/DecPyMC/DecPyMC-1-Utility-Foundations.ipynbProbas/DecisionTheory/DecPyMC/DecPyMC-4-Decision-Networks.ipynbProbas/DecisionTheory/DecPyMC/DecPyMC-5-Value-Information.ipynbTotal : 32 appels répartis dans 12 notebooks. Les 19 autres notebooks de ces deux séries passent déjà
chainsexplicitement.Un appel
pm.sample(**kwargs)dont le dictionnaire contientchainsserait compté à tort. Il faut donc relire chaque cas avant de le corriger.Recette (celle de #17962)
chains=4à chaque appel listé. C'est la valeur que les sorties committées montrent déjà : sur la flotte, le résultat est identique bit pour bit, seule la machine de l'étudiant change de comportement. Si un appel vise une autre valeur par choix pédagogique, l'écrire en commentaire.chains=4dans le markdown qui cite l'appel.python scripts/notebook_tools/check_twin_parity.py --per-pair --base origin/main --check.À traiter dans le même passage, sur les mêmes fichiers : quatre notebooks renvoient encore à
PyMC-06-Debugging, qui n'existe plus (il est devenuPyMC-02b-Debugging-Python). Ce sont PyMC-02b lui-même, PyMC-03, PyMC-15 et PyMC-17.Critère d'acceptation
Probas/PyMCetProbas/DecisionTheory/DecPyMC.Sampling 4 chainsdans ses sorties.grep -rl PyMC-06-Debugging MyIA.AI.Notebooks/Probasne rend rien.