🦊リーダブルノードのすゝめ
🏠 | 🦊雑に学ぶComfyUI
👈️ |
👉️ |
English → 🦊Readable Nodes for ComfyUI
ComfyUIに限らずノードベースのツールは適当に作っていくとスパゲッティノードになり管理不能になります
しかし、綺麗に整理されていればひと目見ただけでなにが起こっているのかが分かるのもノードベースの良さの一つ
リーダブルコードならぬリーダブルノードを組み上げて、快適なComfyUI生活を送りましょう!
※全てnomadoor.iconの独断と偏見であり、全く業界標準とかでもないのであんまり気にしないでください
01 : 視線誘導
https://gyazo.com/30d3ce6a42f9f1783ab798e91d2d0f45
他のノードベースツールに比べると、ComfyUIは素材が一本道の生産ラインに載せられて画像へ加工されていくだけのシンプルなものです
リーダブルノードであるか?という問いは、この一本道の生産ラインをどれだけ素早く見つけられるか?ともいいかえられるでしょう
デザインでは有名な話ですが、人は基本的に左上から右下に向かって順番にものを見ています
workflowもこれに従うのが良いでしょう
02 : ワイヤを見せる
https://gyazo.com/9846334b433e5a4122ee5cae02850543
ノードベースツールにおいて、情報がどこからどこへ受け渡されるか?というのはワイヤを見ることでしかわかりません
ノードの配置に気をつけ、時には適切にrerouteノードを使うことで、ノードとワイヤの重なりを回避しましょう
同様の理由で🦊無線化もおすすめしません
適度に使えばスパゲッティになるのを回避できますが、大抵は情報がどこへ飛ばされたか探すのは、スパゲッティの絡まりを解くよりも労力がかかるものです
03 : Bentoレイアウトにしない
https://gyazo.com/643b7ec8626411c1d7d08161e348b5b5
四角形の中にキレイにノードを収めたい気持ちは非常にわかるのですが、視線誘導/ワイヤを見せる、両方の観点からして最悪です
ComfyUIには無限の広さのキャンバスがあります
広々と使いましょう
04 : デフォルトのworkflowから始める
https://gyazo.com/71fdea2d1aeea37542d068aa855e512f
Workflow → Browse Templates → Image Generation
で、基本となるtext2imageのworkflowを呼び出すことができます
実は、このworkflowは Stable Diffusion 1.5 に限らず、あらゆる最新の画像・動画生成モデルのベースになります
ここから始めることでworkflowに一貫性を持たせられるため、どんなタスクでも流れを理解しやすくなります
05 : ノードを色分けする
https://gyazo.com/ccf1a2d336fdbfd0e94ae71926e8d9b6
デフォルトワークフローに様々なモジュールを追加していくと、高度な処理ができるようになりますが、複雑さが増し、workflowの流れを理解しにくくなっていきます
適切なノードの色付けは、複雑なworkflowの解読に一役買います
例えばControlNetならApply ControlNet/Load ControlNet Model/Preprocessor これら同様の機能に関するノードを同じ色でまとめるようにすれば、一目で変更したいパラメータに行き着くことができるのです
06 : ノート
https://gyazo.com/fa2b5d6e3560c0b56e068228f91f649a
モデルの選択からCFGの値、サンプラーの種類… 生成AIには無数のパラメータがあり、あなたがそのパラメータを選んだ理由をみんな知りたがっています
プログラミングと違ってComfyUIではコメントが邪魔になることはありません。臆せずあなたのこだわりをノートを使って語ってください
(脱線)本家リーダブルコードではコードの欠陥・定数・実装の意図・要約などはコメントが推奨されているwogikaze.icon
少し手間ですが、Markdown Noteを使えばよりリッチなテキストを残せます。先程のノードの色付けと合わせれば、あなたのworkflowの価値は何倍にも高くなることでしょう
07 : 小さく、シンプルに
https://gyazo.com/2a9c66fa28c01a8bd12b24fdde2a07a4
workflowが肥大化すると単純に一回の処理に時間がかかるだけで無く、エラーの確率も上がりますし、もちろん、読みづらくなります
分割できるならできるだけ小さくシンプルに保ちましょう。他のworkflowでの再利用もやりやすくなります
また、ComfyUIにはタブがあり、それぞれに別のworkflowを読み込むことができます。
ALL in oneもいいですが、最初のタブでtext2imageをし、次のタブでDetailerを適用。その次でupscale... というふうに分業することも選択肢に入れてみてください
(Archive)🦊リーダブルノードのすゝめ