見出し画像

ComfyUI-nunchaku@Paperspace のインストールとプレビルドについて

ComfyUI-nunchakuは、名前を知っていましたが手を出していませんでした。


上のGJLさんの記事を見てNF4とは異なる、質の高い量子化のようだということで、Paperspaceで使う用にプレビルドを作成することにしました。

このnunchakuのインストールなどについては、Ai愛createさんの記事がとても分かりやすいと思いますので、参考にしてください。

この記事では、今後のnunchakuのアップデートに際し、python 3.13環境での私なりのインストールとプレビルドのコマンドについて記載しておきます。

nuchakuのインストールについては、Ai愛createさんが記載されている方法のプレビルド版を利用する方法が間違いないものと思います。

https://github.com/nunchaku-tech/nunchaku/releases

注意点
nunchakuリポジトリは、新しいモデルが出て対応されると、その内容を反映させたnunchakuモジュールにする必要があります。

例えば、現時点ではQwenImageモデルは対応していますが、HunyuanImageモデルは対応していません。個人的にはこれに期待してnunchakuのインストールについて勉強しています。

そのため、今後、HunyuanImageのアップデートがかかった場合は、改めてそのプレビルド版をインストールする必要があるということになります。

上の「リリース」の所の「Assets」を開くと、それぞれのpythonやpytorchに対応したwhlファイルが公開されています。

例えばpython 3.13、pytorch 2.8.0の場合は以下のコマンドでインストールできます。

!python -m pip install --no-cache-dir \
  --no-deps \
  https://github.com/nunchaku-tech/nunchaku/releases/download/v1.0.1dev20250912/nunchaku-1.0.1.dev20250912+torch2.8-cp313-cp313-linux_x86_64.whl

このほかに、以下の記事のinsightfaceをインストールするとエラーコメントなくインポートが出来ます。
Insightfaceをpython3.13でプレビルドを作成してインストールする話@Paperspace|shiba*2

モデルのダウンロードなどの詳細は、Ai愛createさんの記事を参照してください。

ワークフローについては、リポジトリ内に豊富に用意されています。
ComfyUI-nunchaku/example_workflows at main · nunchaku-tech/ComfyUI-nunchaku

これらのワークフローは、ComfyUIで以下の「テンプレート参照」部分からいける「ComfyUI-Nunchaku」のところから参照できます。

ComfyUIは便利になってきましたね。

Nunchakuリポジトリのプレビルドについて


このnunchakuに関してもプレビルドを作ることが出来ます。

あまり意味が大きくありませんが、リポジトリ内の更新があってから少し時間が経ってから新しいwhlが公開される流れになっているため、リポジトリ内でHunyuanimage2.1モデルとか対応してもすぐに使えるようになりません。

その場合は、自前でプレビルドを作成することで使えるようになるといったことが可能になります。

プレビルドのコマンド

①依存関係のインストールコマンド

!pip install --upgrade pip
!pip install numpy ninja wheel setuptools pybind11
!pip install diffusers>=0.35.1 transformers>=4.53.3 accelerate>=1.9.0 sentencepiece protobuf huggingface_hub>=0.34 peft>=0.17 einops

②ビルドコマンド
コピペするとそのままでは動かないので注意!

import os
import shutil

# --- 設定 ---
BUILD_DIR = "/notebooks/nunchaku_build"
REPO_DIR_NAME = "nunchaku"
REPO_DIR_PATH = os.path.join(BUILD_DIR, REPO_DIR_NAME)

# ★追加: ビルドを高速化するツールをインストール
!pip install ninja

# --- 1. クリーンアップ ---
print(f"--- 1. Checking for and removing old directory: {REPO_DIR_PATH} ---")
if os.path.exists(REPO_DIR_PATH):
    shutil.rmtree(REPO_DIR_PATH)
    print(f"✅ Successfully removed old directory.")
else:
    print(f"✅ No old directory to remove.")

# --- 2. リポジトリのクローンとバージョン指定 ---
os.makedirs(BUILD_DIR, exist_ok=True)
%cd {BUILD_DIR}

print(f"\n--- 2. Cloning repository and checking out v1.2.1 ---")
!git clone https://github.com/nunchaku-tech/nunchaku.git
%cd {REPO_DIR_NAME}
!git checkout v1.2.1
!git submodule update --init --recursive
print(f"✅ Cloned and checked out v1.2.1.")


# --- 3. ビルドとインストール ---
print(f"\n--- 3. Starting build and installation process ---")

# 環境変数の設定
os.environ['TORCH_CUDA_ARCH_LIST'] = '8.6'
# ★変更: Ninjaを使う場合は MAX_JOBS を増やしても安定しやすいですが、
# メモリ不足で落ちる場合はここを '2' や '1' に下げてください。
os.environ['MAX_JOBS'] = '4' 

# C++拡張をビルド
!python setup.py build_ext --inplace
# wheelファイルをビルド
!python setup.py bdist_wheel
# ビルドしたwheelをインストール
!python -m pip install dist/nunchaku-*.whl

print("\n🎉 All steps completed successfully!")

これで、ビルドされたnunchakuモジュールがインストールされます。

上の「タグをチェックアウト」のv1.0.1は、以下のリリースの最新のものになっています。
更新されればそこを書き換えると、以前のビルドは削除され、新しいバージョンのものが作成されるという感じです。

プチコラム:名前の由来になった「ヌンチャク」って?
今回取り上げた ComfyUI-nunchaku の「nunchaku」は、実はあの有名な武具の名前です。二本の短い棒を紐や鎖でつないだシンプルな形ですが、そのルーツは結構あいまい。沖縄の馬具「ムーゲー」から生まれたとか、稲や麦を叩く農具「連枷」が元だとか、いろんな説があります。
世界的にヌンチャクが知られるようになったのは、1970年代にブルース・リーが映画で華麗に振り回してみせたのがきっかけ。あまりの人気ぶりに、世界各地で若者が真似して、逆に所持禁止の法律ができるほどでした。
今では武道の一部としてはもちろん、スポンジ製の「安全ヌンチャク」での競技大会や、LEDが光るパフォーマンス用ヌンチャクまで登場。武器というより、エンタメやスポーツの道具として進化を続けています。

GPT

「フリースタイル ヌンチャク」というので動画を検索すると、かっこいい演舞が見られると思います。

いいなと思ったら応援しよう!