Repository navigation
Conversation
3 nouvelles cellules entre la courbe perplexite (section 7) et les exercices (anciennement section 8, renommée 9) : une intro markdown, une cellule code qui genere 3 echantillons (uni/bi/tri) avec 3 graines textuelles distinctes, et une lecture du resultat qui documente la progression bruit -> fragments -> verbatim. Le random_seed varie par graine (germe_base + i) pour que la condition sur text_seed soit visible. Un random_seed unique pour les trois graines converge sur la meme sequence (le germe du RNG fixe toute la chaine), ce qui rend la demonstration inerte. La reproductibilite reste acquise : un couple (text_seed, random_seed) rejoue a l'identique (C.2). Cellule 31 re-executee (kernel coursia-ml-training), outputs committes (C.2). 12 cellules code, toutes execution_count != null. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Path-collision (organ #13359/#13615)Cette PR #18293 (
|
|
Fermeture par supersede, decision coordinateur (ai-01). Trois PRs ajoutaient la meme section 8 « generation » a NLP/02_NGrammes_Modeles_De_Langue.ipynb : #18180 (lane po-2026:CoursIA, ouverte 02:42Z, review NanoClaw LGTM, seule a porter la section en premier), #18230 (fermee) et celle-ci (18:14Z). Une seule continue : #18180, par anteriorite de livraison. Le claim de cette lane sur #18148 (12:57Z) est posterieur a l'ouverture de #18180 : le controle des PRs ouvertes sur le fichier n'a pas tourne, cause et correctif sur le dashboard CoursIA. Ce qui est propre a cette PR et merite d'etre repris : le conditionnement sur trois graines textuelles ( |
…hs (#18347) `check_lane_claim.py N --lane L` (SANS `--paths`) lisait `my_paths` au lieu de `my_scope`. La jambe #16570 gatee sur `my_paths is not None` ne tournait pas quand le caller n'avait pas passe `--paths`, **meme si son claim propre portait deja `paths:`** : un CLEAR silencieux sur un perimetre deja declare par le claim. Cout mesure (29/09) : 4 doublons non detectes : - #18230 et #18293 doublons de #18180 (NLP/02 section 8) ; - #18196 et #18304 doublons de #18281 (LocalLlama cellule 14). Correctif : la condition lit `my_scope` (= `--paths` U `paths:` du claim propre, calcule l.2403). Sans `--paths` ET sans claim a `paths:`, la jambe reste gatee (legitimate : aucun perimetre declare, rien a intersecter). Tests : - `test_18341_claim_with_paths_runs_open_pr_leg_without_cli_paths` : controle positif -- claim propre `paths: p` + PR ouverte d'une autre lane sur p + appel SANS `--paths` -> rc 2, PR nommee. Avant le fix : rc 0 silencieux. - `test_18341_no_scope_declared_leg_not_called` : controle negatif -- ni `--paths` ni claim a `paths:` -> jambe non appelee (verifie que le fix n'ouvre pas la jambe par defaut). - `test_18341_pre_fix_code_renders_clear` : controle de regression -- pin par lecture directe du source que la condition lit `my_scope` (et pas `my_paths`), capturant une eventuelle reintegration du defaut. Périmètre : 2 fichiers, +80/-2. Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> Co-authored-by: myia-ai-01 <myia.ai.01.myia@gmail.com>
Grain: DEEP/notebook-python -- lane myia-po-2023:CoursIA-2 -- prev: MED/notebook-python #18138
Resume
Ajout d'une section 8 « Generation d'echantillons » dans le carnet NLP/02 N-grammes, entre la courbe perplexite (section 7) et les exercices (anciennement section 8, renommee 9).
Trois nouvelles cellules :
<s>,«,Il) pour les modeles unigramme, bigramme et trigramme, affichage structure en 3 blocs.bruit -> fragments -> verbatimdocumentee avec les valeurs effectivement generees.Detail technique
random_seed par graine
Le bug rencontre en prototypage : un
random_seed=42unique pour les 3 graines textuelles faisait converger les 3 sorties sur la meme sequence. Cause :nltk.lm.generate()utiliserandom_seedpour amorcer le RNG interne ; seul le premier appel conditionne la chaine surtext_seed, ensuite le RNG determine tout. Un germe unique = une seule trajectoire du RNG = memes sorties pour toutes les graines.Correctif :
random_seed = germe_base + i(42, 43, 44). La reproductibilite reste acquise par couple(text_seed, random_seed)-- la cellule est rejouable a l'identique (C.2).Sorties observees (kernel
coursia-ml-training, FABLES_TRAIN ~350 mots)Lecture : unigramme = bruit lexical (mots frequents, ordre aleatoire). Bigramme = fragments localement plausibles (cooccurrences article+nom, pronom+verbe). Trigramme = verbatim du corpus (segments memorises), avec
<UNK>en position initiale parce que les 3-mois vus a l'entrainement ne commencent pas par les graines.Comptage
Toutes les cellules code conservent
execution_count != nulletoutputs != [](C.2). Pre-commit H.3 passe.Verification
jupyter nbconvert --to notebook --execute --inplace --ExecutePreprocessor.kernel_name=coursia-ml-training-- 48500 octets ecrits, exit 0.pip install nltkdanscoursia-ml-training(nltk 3.10.3, regex 2024.11.6).punkt/punkt_tabetstopwordsdeja presents dans~/AppData/Roaming/nltk_data.Lien
Cible : issue #18058 (tranche NLP). Cette PR est une des 5 tranches de l'inventaire c.921 sur
MyIA.AI.Notebooks/Search/Applications; la liste complete est dans #18256.Co-Authored-By: Claude Haiku 4.5 (1M context) noreply@anthropic.com