SD1.5 NPU 変換
SD1.5 .safetensors モデルを Local Dream 互換の NPU モデルに変換するガイドです。
TIP
アプリはデバイス上での CPU 変換に対応しています。このガイドは NPU パス専用です。
前提条件
- OS:Linux または WSL
- Qualcomm AI Engine Direct SDK 2.28 — v2.28.0.241029.zip
- uv — Python 環境マネージャー
- zstd —
sudo 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 syncconvert_all.sh と convert_all_unet_only.sh 内の QNN_SDK_ROOT パスを QNN SDK の解凍先に設定してください。
主要パラメータ
| パラメータ | 説明 |
|---|---|
clip_skip | 1 または 2。元モデルの訓練値に合わせてください。ほとんどのアニメモデルは 2 を使用。 |
realistic | true で量子化データ生成時にリアリスティックスタイルのプロンプトセットに切り替え。写真スタイルモデル用。 |
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 のロードを拒否 — チップに適合する チップティアでパッケージしたか確認してください。