[Post-démo] Repenser les SuperBlocks top-down : grosse fonction découpée en sous-blocs
まだ誰も着手していません。
評価
- 難易度
- 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 の本文から書いたものです。
説明
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 ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PoCInnovation/MLBlock のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
PoCInnovation/MLBlock#26 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
PoCInnovation/MLBlock#25 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
PoCInnovation/MLBlock#24 ·
PoCInnovation/MLBlock の issue をすべて見る
似ている issue
-
good first issue test
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
ANCORATE/EncryptHome#8 ·
-
PluginProvider.storeInstance races and clobbers the dedup cache for concurrent loads対応中かも @Wilson0511 が今日担当しました。 オープンneeds-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 2 日以内に返信
-
Bug: failed Together chat calls do not record operation duration or error.type対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
community documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100