Skip to content

NPU 模型转换

本节介绍如何将你自己的 Stable Diffusion 模型转换为 Local Dream 可以在骁龙设备上加载的 NPU 兼容资源。

何时需要

  • ✅ 你想在 NPU 路径上运行自定义的 SD1.5 或 SDXL 模型。
  • ❌ 你想在 CPU/GPU 路径上运行自定义 SD1.5 模型 — 这在应用内直接支持,无需主机端转换。

可用工作流

工作流状态指南
SD1.5 → NPU稳定SD1.5 转换指南
SDXL → NPU实验性SDXL 转换指南

概要

  • 转换在 主机端 完成,不是在设备上。你需要一台 Linux 或 WSL 机器。
  • 流水线生成 W8A16 量化的 QNN 二进制文件,打包成应用可导入的 zip。
  • SD1.5 需要为每个芯片级别(_min / _8gen1 / _8gen2)分别转换一份 zip。SDXL 只有一个芯片级别(_8gen3)。
  • 单次 SD1.5 转换需要 数小时 的 CPU 时间。SDXL 需要更长时间。

为什么有两个 QNN SDK 版本?

转换脚本固定使用 QNN SDK 2.28,而 Android 应用自身搭载 QNN SDK 2.39 作为运行时。这是有意为之:2.28 是已知能为本文档中的转换流水线产出正确量化二进制的版本,而运行时保持较新。转换模型时需要 2.39,且不要在一次转换中混用两个版本。

硬件要求

工作流内存 + swap磁盘GPU
SD1.5 @ 512×512~20 GB~30 GB可选
SD1.5 @ 更高分辨率64 GB+60 GB+可选
SDXL @ 1024×102464 GB+60 GB+可选

CUDA GPU 是 可选的 — 它只加速数据准备阶段。实际量化在 CPU 上运行。

跳过转换?

如果你只想要一个开箱即用的模型,可以先查看社区预转换模型集合。许多热门的 SD1.5 和 SDXL 模型已经可用。