Skip to content

SD1.5 NPU 変換

SD1.5 .safetensors モデルを Local Dream 互換の NPU モデルに変換するガイドです。

TIP

アプリはデバイス上での CPU 変換に対応しています。このガイドは NPU パス専用です。

前提条件

  • OS:Linux または WSL
  • Qualcomm AI Engine Direct SDK 2.28v2.28.0.241029.zip
  • uv — Python 環境マネージャー
  • zstdsudo apt-get install zstd

WARNING

512×512 モデルの変換に最低 ~20 GB メモリが必要です。高解像度には 64 GB+ メモリ + swap が必要です。

変換スクリプト

INFO

スクリプトのダウンロード:npuconvertv2.zip

環境セットアップ

bash
cd npuconvert
uv venv -p 3.10.17
source .venv/bin/activate
uv sync

convert_all.shconvert_all_unet_only.sh 内の QNN_SDK_ROOT パスを QNN SDK の解凍先に設定してください。

主要パラメータ

パラメータ説明
clip_skip1 または 2。元モデルの訓練値に合わせてください。ほとんどのアニメモデルは 2 を使用。
realistictrue で量子化データ生成時にリアリスティックスタイルのプロンプトセットに切り替え。写真スタイルモデル用。
extra_resolutions追加解像度ごとに個別の UNet 変換と .patch ファイルが生成されます。
soc_versionsビルド対象のティア。min は Hexagon V68+ 非フラッグシップチップ、8gen1 は 8 Gen 1 / 8+ Gen 1、8gen2 は 8 Gen 2 / 3 / 8 Elite / 8s Gen 4 / 8 Elite Gen 5。

出力

チップティアごとに .zip ファイルが生成されます。各 zip はアプリで直接インポートできます。

トラブルシューティング

  • 変換が非常に遅い — 正常です。ワークステーション級 CPU で解像度・チップティアごとに数時間かかります。
  • 変換中にメモリ不足 — swap を増やしてください。
  • アプリがインポートした zip のロードを拒否 — チップに適合する チップティアでパッケージしたか確認してください。