Repository navigation
fix(genai-video,#15118): re-execs réelles 02-4-SVD (3090) et 03-3-ComfyUI-Video — backend remis debout, SOTA-OK x2 - #15663
Conversation
…yUI-Video, backend remis debout Les deux re-exec RECOVERABLE-MACHINE dues apres #15084 : 02-4-SVD regenere sur le RTX 3090 (14/14 cellules, 6 MP4 reels, 740 s) et 03-3-ComfyUI-Video reexecute contre le backend reconstruit (13/13, workflow AnimateDiff 95 s, video 795 Ko). Defaut C.1 herite de #15084 corrige au passage : les terminaux des stubs d'exercice renvoyaient des noms indefinis (NameError mesure au premier run) -> return None, le contrat qu'attend la cellule d'integration. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
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 |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié: re-exec firsthand 14/14 ec 1..14 + 0 erreur + RTX 3090)
[Hermes] — #15663 review sur head 3510b7b4d0.
Vérifications firsthand (notebook fetch via contents API au head SHA) :
- 02-4 SVD : 14/14 cellules code
ec=1..14, 0 output d'erreur, bannerGPU : NVIDIA GeForce RTX 3090 / VRAM 24.0 GB / CUDA 12.6,Date : 2026-09-12 01:06(fraîche), 7 générations à ~99-101 s chacune (≈700 s — cohérent avec les 740 s du body), pics VRAM 10.8 GB cohérents SVD-XT fp16. - Défaut C.1 vérifié de bout en bout : les 2 lignes
return None # TODO etudiantsont bien dans le diff, ET la cellule d'intégration (cell 14,ec=14) emprunte le chemin honnête — son output réel ditExercice a completer : prepare_image_for_svd (exercice 3) -- le pipeline attend l'image preparee, plus deNameError. Le contratNone↔ garde d'intégration est fermé. - 03-3 ComfyUI : +23 streams d'exécution ajoutés, dont
Workflow termine en 95.2s,Video telechargee : animatediff_00002.mp4 (795.0 KB), prompt id3f7b98eb-15a...— exactement les artefacts revendiqués. - Security scan : 0 match réel — les 2 hits
HF_TOKENsont des lignes de warning supprimées des anciennes sorties, pas des ajouts. - Périmètre : 2 notebooks uniquement, aucune CI/catalog touchée — conforme au body.
Le remplacement RECOVERABLE-MACHINE → SOTA-OK ×2 est adossé à des sorties réelles, pas à des stubs. Rien à redire.
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: |
Grain: MED/notebook-python — lane myia-po-2023:CoursIA — prev: MED/tooling #15622
Résumé
#15084 avait retiré les doubles stubs de niveau module dans cinq notebooks ; deux d'entre eux portaient un verdict
RECOVERABLE-MACHINEhonnête parce que la lane d'alors ne pouvait pas les ré-exécuter (GPU 16 Go sans poids SVD en cache ; backend ComfyUI-Video à terre en 502.3). Cette PR livre les deux ré-exécutions dues, sur la machine porteuse désignée par l'issue — le RTX 3090 local, qui héberge le stack GenAI — et remplace les deuxRECOVERABLE-MACHINEparSOTA-OK×2.Livrable
GenAI/Video/02-Advanced/02-4-SVD-Image-to-Video.ipynbexecution_counthérités ; crashNameErroren bout de notebookGenAI/Video/03-Orchestration/03-3-ComfyUI-Video-Workflows.ipynbDéfaut C.1 découvert par la ré-exécution — corrigé dans cette PR
Le premier run de 02-4 a crashé :
NameError: name 'prepared_image' is not defined. Cause mesurée sur main : les terminaux des stubs d'exercice référenciaient des noms indéfinis —prepare_image_for_svdfinissait parreturn prepared_imageetoptimize_motion_bucketparreturn best_config(restructurés par #15084). Tout appel — dont la cellule d'intégrationpipeline_animation_svd, pourtant conçue pour gérer le cas exercice-non-complété viaif prepared is None— levait donc une exception au lieu d'emprunter le chemin honnête.Correctif : 2 lignes de source dans 02-4, les terminaux deviennent
return None # TODO etudiant : retourner … (exercice a completer)— exactement le contrat (None) que la cellule d'intégration attend. Preuve : le second run exécute la cellule d'intégration sans erreur et affiche son message prévu :Aucune autre source n'a changé. Les stubs restent des stubs (règle C.1 :
pass+return None, jamais d'erreur volontaire).Remise debout du backend (acceptance 2)
comfyui-videoabsent depuis un restart Docker Desktop (seul l'idle-monitor subsistait à l'étatCreated) — cause mesurée du 502.3 : reverse proxy debout, backend inexistant.docker compose up -d comfyui-video: container revenu, GPU 1 (RTX 3090) selonGPU_DEVICE_ID=1, healthcheckhealthy,GET /system_stats→200(ComfyUI 0.25.0, deviceRTX 3090).Bearer <hash bcrypt courant>, et ce hash est régénéré à chaque boot (salt aléatoire) — leCOMFYUI_VIDEO_TOKENdu.envlocal est donc périmé :401. Le token courant se lit dansdocker logs comfyui-video(« For direct API calls, use token=… ») ; avec lui,200.comfyui_url = os.getenv("COMFYUI_VIDEO_URL", …)avant queload_dotenvne s'exécute — sans injection, le notebook retombe sur le défaut (qwen-image-edit.myia.io, le mauvais backend) et rendComfyUI disponible : Falseen401. La ré-exécution passe donc-p comfyui_url http://localhost:8189.Preuve d'exécution (relancée dans ce cycle, firsthand)
python3, CUDA pinned RTX 3090, fp16 cache HF 4,2 Go)papermill exit=0, 0 erreur, 14/14 ec=1..14, durée 740 spython3, backendlocalhost:8189)papermill exit=0, 0 erreur, 13/13 ec=1..13, workflow terminé en 95,2 ssvd_landscape,svd_motion_{40,127,200},svd_portrait,svd_nature+ 3 PNG de test (dansGenAI/outputs/svd_video/, non versionnés)3f7b98eb…), 16 frames,animatediff_00002.mp4795 Ko téléchargé du backend, sauvegardécomfyui_animatediff.mp4scripts/notebook_tools/validate_pr_notebooks.py origin/main.env charge depuisimpriment le basename ;metadata.papermillnormalisée au basename)Verdicts SOTA (en remplacement des deux
RECOVERABLE-MACHINE)02-4-SVD-Image-to-Video: SOTA-OK — vraie génération SVD-XT fp16 sur GPU, sorties committées = sorties réelles.03-3-ComfyUI-Video-Workflows: SOTA-OK — vrai workflow AnimateDiff exécuté par le backend ComfyUI-Video remis debout, vidéo réelle régénérée.Périmètre
MyIA.AI.Notebooks/GenAI/Video/02-Advanced/02-4-SVD-Image-to-Video.ipynb+1120/-1133MyIA.AI.Notebooks/GenAI/Video/03-Orchestration/03-3-ComfyUI-Video-Workflows.ipynb+383/-160Aucun workflow CI, aucun catalogue (
byte-identique à main), aucun fichier d'infrastructure — ledocker compose up -dest un geste d'exploitation local, pas un diff. Les fichiers vidéo vont dansGenAI/outputs/(gitignore) : seules les vignettes et métadonnées embarquées dans les sorties de cellules sont commises.Closes #15118
🤖 Generated with Claude Code