皆様いかがお過ごしでしょうか。歌乃です。

ComfyUI で SDNQ 関連機能を使用できるようにしてみました。

といっても単に以下のカスタムノードを追加しただけでございます。

https://github.com/EnragedAntelope/comfyui-sdnq

※いつもどおり大半が戯言です( ゚Д゚)


とりあえずカスタムノードのインストール

いつも通り手動で ( 私はあまり ComfyUI manager を使用しません、manager が楽な方はそちらからでもいいかと思います )

cd [ComfyUIインストール先]/custom_nodes

に移動して

git clone https://github.com/EnragedAntelope/comfyui-sdnq

Python 用の SDNQ パッケージが必要になるので、pip でインストールします。ついでに hf-xet もいれます。
hf-xet はhagging Face から モデルをダウンロードする際の補助ユーティリティです(SDNQ ノードが自動ダウンロードする際に使用します。なくてもOKですが、あると少しダウンロードがスムーズになります)。

お使いの環境にあわせて(仮想環境があれば activate して仮想環境下でインストール、embedded なら python.exe のあるディレクトリに移動してからインストール)pip などでパッケージをインストールしておきます。

.\python.exe -m pip install sdnq>=0.1.0 hf-xet>=1.3.0

もちろん、python.exe pip install -r [SDNQカスタムノード/]requirements.txt でも問題ありません。
※前述の方法は、自己環境内の他のパッケージに影響を与えないように念のため必要なパッケージを個別でインストールしているだけです。

https://github.com/EnragedAntelope/comfyui-sdnq のマニュアルインストールの項目、そのままなので、そちらを参考に実行してもいいかもしれません。

合わせて、必須パッケージも最新にしておきましょう。そのほうが無難です。

.\python.exe pip install --upgrade transformers diffusers

ComfyUI の方も最新版にアップデートしておきましょう。

ここからはトラブルシューティングというか、私が遭遇した問題に対する対処法です。


python.h がないと怒られる

適当にノードを配置して実行するとエラーが発生しました。

sdnq_001

python.h が見つからないみたいです。python-dev パッケージに入っているはずですが、windows の場合は Visual Studio Build Tools が関係しています。
VSBT のC++開発ライブラリである Desktop development with C++ ワークロードを追加インストールすればそこに含まれています。

ということで Visual Studio インストーラー から確認してみます。Visual Studio インストーラー はスタートメニューの中にあると思います(Visual Studio関連を一度でもインストールしていれば)。

Visual Studio インストーラーが無い場合は https://learn.microsoft.com/ja-jp/cpp/build/vscpp-step-0-installation?view=msvc-170 このあたりを参考にしつつインストールしなおしてください。

私の場合、更新をまったくしてなかったようで2019、2022、VS本体全てが更新対象になってました。

sdnq_002

ワークロードの前に更新をおこなって最新版にしておきます。

VSBT2019 は問題なし、VSBT2022はwindows11SDKのバージョンが古いだけのようでしたが、念のため Desktop development with C++ ワークロード を再インストール(変更)しておきました。


Python libs がないと怒られる

再度実行してみると、こんどは Failed to find Python libs 警告が発生。triton-windows パッケージに関する問題のようで、調べてみると以下のような補足事項を発見

https://github.com/woct0rdho/triton-windows#8-special-notes-for-comfyui-with-embeded-python

embeded-python 版のComfyUI を使用している場合は、Triton-windows を動かすために、Libsフォルダーを配置してあげる必要がある、との事。

さっそく自己環境の Python に対応するファイルをDLしてフォルダーを配置しました。

念のため公式が用意している test script (https://github.com/woct0rdho/triton-windows?tab=readme-ov-file#test-if-it-works) を実行して、エラーが出ない(問題なくtritonが機能している)ことを確認しました。


指定したモジュールがないと怒られる

再再実行してみると、こんどは diffusers が DLL の Load に失敗したようでエラーが発生。

sdnq_004

原因がわからない(モジュールがどのファイルなのか判断できない)ので、この手の対処で定番の、とりあえず最新バーションにしてみる、を実行しました。

.\python.exe -m pip install git+https://github.com/huggingface/diffusers.git

再再再実行してみるも効果なし。さて困りました。

ネットの海を漂って以下のような情報を発見。

https://github.com/kijai/ComfyUI-WanVideoWrapper/issues/84

SageAttention が悪さをしている可能性があることがわかったので、いったん sage attention をアンインストールして、1.0.6 にバージョンダウンしてみます。

 .\python.exe -m pip uninstall sageattention
 .\python.exe -m pip install sageattention==1.0.6

再x4実行してみると DLL の Load エラーは出なくなりました。


[mu]パラメータはサポートされてないと怒られる

sdnq_005

これまた謎のエラーが発生しました。

エラーログのメッセージに対応策として「transformers diffusers」をアップデートしてみること、という一文があったので、試してみることにします(diffusers は 最新にしたので、主に transformers)。

 .\python.exe -m pip install --upgrade transformers

transformaers-4.57.3 -> transformers-4.57.6 にアップデート。

アップデートは効果あったようでエラーは出なくなりました。


画像生成自体に失敗する

パッケージ関連のエラーは解消しましたが、画像生成の途中で止まってしまいました。

sdnq_006

設定がまずいのか、PCスペックが足りないのか、情報が少なすぎて判断できません。

低スペックマシン(VRAM8GB)でも動くように考えられたSDNQなので、スペック不足は考えにくいので(リソースモニターで見る限りメモリやGPUには余裕がありそうです)、設定を変えて再挑戦しました。

Model: Z-Image-Turbo-SDNQ-int8 → uint4 に Size: 1024x1024 → 512x512 に Scheduler: EularDiscrete → FlowMatchEularDiscrete に Memory_mode: Balanced → Lowvram Lora: None Use_quantaized_Matmal: True Use_xformer: False Enable_vae_tiling: False

最終的に上記の設定でどうにか生成に成功しました。

sdnq_007

ZITモデルは最近対応になったので、もしかしたらまだ安定してないのかもしれません。

そして512x512サイズで5分近くかかってしまってます。



その後、生成サイズを変えたり、xFromers を入れてみたりと、いろいろやってみましたが

生成できたりできなかったりと安定してくれません(´・ω・`)

バージョンアップを待つか、どこかのエライ人が解決策を見出すまではお蔵入り決定です。

そろそろうちのPCも買い替え時期なのかもしれません( ゚Д゚)



Post If you feel like it, I would be happy if you could post it.