[Post-démo] Repenser les SuperBlocks top-down : grosse fonction découpée en sous-blocs

オープン
#23 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python, pytorch, typescript

調査の方向性

Read backend/mlblock/core/superblocks.py and backend/mlblock/core/generator.py, then inspect how SUPERBLOCK_DEFS and BLOCK_SOURCES represent SuperBlocks and how the generator handles nodes without explicit children. The issue defers the redesign until after the demo and does not name tests or define the full design; done means SuperBlocks can run standalone as top-down functions split into internal sub-blocks, including the default-children case.

索引モデルが issue の本文から書いたものです。

説明

enhancement

Contexte

L'implémentation actuelle des SuperBlocks (branche ALI/DEV_backendthreestagesblocks, spec backend-three-stage-blocks) est bottom-up :

  • Chaque SuperBlock est une coquille vide + une liste de références vers des blocs unitaires préexistants (backend/mlblock/core/superblocks.py, SUPERBLOCK_DEFS, BLOCK_SOURCES[sb_id] = "").
  • Il n'existe nulle part de « grosse fonction » du pipeline (tabulaire, image, RL…).

Cible (à repenser après la démo de mardi)

Inverser le sens : top-down.

  • Coder d'abord le SuperBlock en entier, comme une grosse fonction autonome (ex : tout le pipeline tabulaire).
  • Puis découper cette grosse fonction en sous-blocs = des fonctions internes extraites (le sous-bloc comme une fonction dans la fonction).
  • Le SuperBlock doit pouvoir fonctionner seul, sans dépendre de l'assemblage de petits blocs.

Bug connu lié (à corriger dans ce cadre)

Un SuperBlock posé sur le canvas sans children explicites génère un conteneur vide (out_1 = nn.Sequential()) : le générateur (backend/mlblock/core/generator.py) n'expanse que les children portés par le nœud, jamais les enfants par défaut de SUPERBLOCK_DEFS.

Décision

  • Pour la démo de mardi : on garde l'implémentation actuelle, suffisante pour du prototypage.
  • Cette issue tracke la refonte top-down, à traiter après la démo.
主要言語
Python
スター
2
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PoCInnovation/MLBlock のほかの issue

PoCInnovation/MLBlock の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。