【个人开源】——从零开始在高通手机上部署sd(一)

代码:https://github.com/chenjun2hao/qualcomm.sd

从零基础开始,在自己的高通手机(骁龙8 gen1+)上用NPU跑文生图stable diffusion模型。包含:

  • 高通qnn下载安装
  • sd模型浮点/量化导出
  • 在高通手机上用cpu跑浮点模型,htp跑量化模型

1. python依赖安装

主要对齐transformers, diffusers的版本,其他参考requirements.txt

复制代码
pip install transformers==4.40.0 diffusers==0.32.2

2. python浮点模型测试

bash 复制代码
# 1.下载sd 模型
git clone https://hf-mirror.com/segmind/portrait-finetuned

# 2.通过diffuser的pipe测试模型
cd $PROJECT_HOME
python sd_portrait_diffpip.py

# 3.通过自己实现的pipe测试模型
python sd_portrait_ownpip.py

结果可视化:

3. 导出浮点模型/x64 cpu模拟推理/高通cpu推理

高通libQnnCpu.so好像只支持浮点模型,不支持量化模型(可能后续的硬件,会支持)。

3.1 高通qnn安装

coming soon ...

3.2 导出浮点模型

复制代码
cd $PROJECT_HOME
python export_model.py --export_quant_model false

导出的模型在qnn_models/xxx下. eg: qnn_models/text_encoder_float/x86_64-linux-clang/libtext_encoder.so是x64上模拟推理时需要的模型。qnn_models/text_encoder_float/aarch64-android/libtext_encoder.so是push到android手机上使用的模型

3.3 x64 cpu模拟推理

参考项目readme运行:qualcomm.ai

3.4 高通cpu推理

将所有依赖的东西push到android手机上。参考项目readme运行:qualcomm.ai

4. 导出量化模型/高通htp推理

4.1 生成量化用数据

bash 复制代码
cd $PROJECT_HOME
python make_calibration_data.py

4.2 导出量化模型

4.3 x64模拟htp推理

高通在x64平台上,有模拟HTP硬件执行的软件库,但是sd模型运行太慢了。

4.4 高通HTP推理

将所有依赖的东西push到android手机上。参考项目readme运行:qualcomm.ai

5. reference

  1. StableDiffusionOnDevice
相关推荐
远瞻。1 天前
【论文精读】2024 ECCV--MGLD-VSR现实世界视频超分辨率(RealWorld VSR)
人工智能·算法·stable diffusion·音视频·超分辨率重建
非凡ghost1 天前
XPlifeapp:高效打印,便捷生活
android·智能手机·生活·软件需求
百锦再1 天前
MCU STM32搭配存储SD NAND(贴片式T卡)于智能皮电手环(Galvanic Skin Response, GSR 手环)的全方位评测
stm32·单片机·嵌入式硬件·学习·sd·hand·mk
何玺1 天前
6年“豹变”,vivo S30系列引领手机进入场景“体验定义”时代
人工智能·智能手机
斯南1 天前
机顶盒CM311-5s纯手机免拆刷机,全网通,当贝桌面
智能手机
远瞻。2 天前
【论文精读】2024 CVPR--Upscale-A-Video现实世界视频超分辨率(RealWorld VSR)
论文阅读·人工智能·算法·stable diffusion·音视频·超分辨率重建
modem协议笔记2 天前
5G NTN卫星通信发展现状(截止2025年3月)
网络·5g·智能手机
AORO_BEIDOU2 天前
如何区分防爆手机与普通手机?
科技·5g·安全·智能手机·信息与通信
ueotek2 天前
Ansys Zemax | 手机镜头设计 - 第 2 部分:光机械封装
智能手机·ansys·zemax·光学软件
百锦再2 天前
AI 眼镜新纪元:贴片式TF卡与 SOC 芯片的黄金组合破局智能穿戴
人工智能·内存·芯片·sd·moc·mk