Open zhouwg opened 3 months ago
https://github.com/XiaoMi/StableDiffusionOnDevice/issues/1
不需要root。8650的适配看来有点问题
1
不需要root。8650的适配看来有点问题
谢谢!这些适配的问题如果没有项目维护人的指点,靠项目用户自己一点点摸索,可能有点困难。
btw,贵公司的这个项目中部分如何使用QNN的代码(这些代码在高通公开的资料里看不到)对我一个个人项目帮助很大,跨越了一个block了几天的问题。在此谢谢了。
1
不需要root。8650的适配看来有点问题
谢谢!这些适配的问题如果没有项目维护人的指点,靠项目用户自己一点点摸索,可能有点困难。
btw,贵公司的这个项目中部分如何使用QNN的代码(这些代码在高通公开的资料里看不到)对我一个个人项目帮助很大,跨越了一个block了几天的问题。在此谢谢了。
哈哈,别误会了,我不是雷总的部下,看到这个repo对于端侧AI的探索做出了不小贡献,刚好我了解一点这块就扫了一眼issues。
QNN的资料是公开的,SDK里面有个sample可以参考
1
不需要root。8650的适配看来有点问题
谢谢!这些适配的问题如果没有项目维护人的指点,靠项目用户自己一点点摸索,可能有点困难。 btw,贵公司的这个项目中部分如何使用QNN的代码(这些代码在高通公开的资料里看不到)对我一个个人项目帮助很大,跨越了一个block了几天的问题。在此谢谢了。
哈哈,别误会了,我不是雷总的部下,看到这个repo对于端侧AI的探索做出了不小贡献,刚好我了解一点这块就扫了一眼issues。
QNN的资料是公开的,SDK里面有个sample可以参考
喔。
谢谢。高通官网上下载的QNN SDK sample里的代码看过了。
1
不需要root。8650的适配看来有点问题
谢谢!这些适配的问题如果没有项目维护人的指点,靠项目用户自己一点点摸索,可能有点困难。 btw,贵公司的这个项目中部分如何使用QNN的代码(这些代码在高通公开的资料里看不到)对我一个个人项目帮助很大,跨越了一个block了几天的问题。在此谢谢了。
哈哈,别误会了,我不是雷总的部下,看到这个repo对于端侧AI的探索做出了不小贡献,刚好我了解一点这块就扫了一眼issues。 QNN的资料是公开的,SDK里面有个sample可以参考
喔。
谢谢。高通官网上下载的QNN SDK sample里的代码看过了。
问题已定位,高通接口 二进制不兼容,导致失败。
详细原因:
K70 Pro手机系统版本高,必须使用新的SDK,否则在读取so符号表正确,但进行调用qnn_net->getBackendBuildId()函数指针时错误,从而crash; deviceCreate,参数设置和初始化设备,也会失败。 如下2个重要结构体失败: typedef struct { // 新增函数指针xxx } QNN_INTERFACE_VER_TYPE;
typedef struct { // 新增成员 const char const enableGraphs; /// Used with QNN_CONTEXT_CONFIG_MEMORY_LIMIT_HINT uint64_t memoryLimitHint; /// Used with QNN_CONTEXT_CONFIG_PERSISTENT_BINARY uint8_t isPersistentBinary; /// Used with QNN_CONTEXT_CONFIG_BINARY_COMPATIBILITY QnnContext_BinaryCompatibilityType_t binaryCompatibilityType; }; } QnnContext_Config_t;
您好,
冒昧打扰您了。
我是一个AI领域的小白,对贵公司的这个开源项目很感兴趣(打算移植到个人AI学习/研究开源项目中)。
昨天半夜下载了这个代码。今天上午在市场上购买的小米14上花了半天(4个小时)测试,目前遇到如下问题:
(1)总是提示无法加载模型
看了下c++代码,发现找不到模型文件与高通库(代码里dump出来的路径如果没有root权限,无法访问)。
adb push libQnnSystem.so /data/user/0/com.xiaomi.stablediffusion/files/ adb: error: stat failed when trying to push to /data/user/0/com.xiaomi.stablediffusion/files/: Permission denied
将C++层代码里的所有模型路径全部改到/sdcard/路径(便于用demo的人用adb上传模型文件),将所有高通库路径改到apk 包名路径/data/data/com.xiaomi.stablediffusion/上(apk上层用代码将高通库从asset目录里拷贝到这个目录即可,无需在native层里调用setenv),才解决这一步。(btw,这些使用高通QNN SDK遇到的坑在使用最新QNN SDK的个人项目里都踩过,已经都解决了)。
(2)无法加载高通库
04-04 13:11:19.056 5404 5450 I KANTV : [makeup_jni.cpp, Java_com_xiaomi_stablediffusion_StableDiffusion_Init, 55]: path:/data/data/com.xiaomi.stablediffusion/ 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.056 5404 5450 I KANTV : [makeup_jni.cpp, Java_com_xiaomi_stablediffusion_StableDiffusion_Init, 59]: setenv finished 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.056 5404 5450 I KANTV : [makeup_jni.cpp, Java_com_xiaomi_stablediffusion_StableDiffusion_Init, 68]: setenv finished 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.056 5404 5450 I KANTV : [makeup_jni.cpp, Java_com_xiaomi_stablediffusion_StableDiffusion_Init, 74]: path:/data/data/com.xiaomi.stablediffusion/ 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.056 5404 5450 I KANTV : [QCOMModel.cpp, load, 27]: TextEncoderModel=== , /sdcard/kantv/text_encoder_quantized.serialized.bin 04-04 13:11:19.056 5404 5450 I KANTV : 04-04 13:11:19.057 5404 5450 I KANTV : [QCOMModel.cpp, load, 74]: Model: 04-04 13:11:19.057 5404 5450 I KANTV : 04-04 13:11:19.057 5404 5450 I KANTV : [QCOMModel.cpp, load, 75]: Backend: /data/data/com.xiaomi.stablediffusion/libQnnHtp.so 04-04 13:11:19.057 5404 5450 I KANTV : 04-04 13:11:19.058 5404 5450 I KANTV : [QCOMModel.cpp, load, 96]: initializing QNN Function Pointers: could not load backend:/data/data/com.xiaomi.stablediffusion/libQnnHtp.so ok 04-04 13:11:19.058 5404 5450 I KANTV : 04-04 13:11:19.058 5404 5450 I KANTV : 04-04 13:11:19.059 5404 5450 I KANTV : [QCOMModel.cpp, load, 104]: Error initializing QNN System Function Pointers /data/data/com.xiaomi.stablediffusion/libQnnSystem.so, error Inappropriate ioctl for device 04-04 13:11:19.059 5404 5450 I KANTV : 04-04 13:11:19.059 5404 5450 E KANTV : [makeup_jni.cpp, Java_com_xiaomi_stablediffusion_StableDiffusion_Init, 76]: prompt_solver load failed! 04-04 13:11:19.059 5404 5450 E KANTV : 04-04 13:11:19.059 5404 5450 D Text2GraphActivity$InitThread: [KANTV][com.xiaomi.stablediffusion.Text2GraphActivity$InitThread.java:114,startLoad()] startLoad: 5.通知主线程,此时Init线程加载模型完成-3 04-04 13:11:19.068 5404 5450 E Text2GraphActivity$2: [KANTV][com.xiaomi.stablediffusion.Text2GraphActivity$2.java:357,handleMessage()] SD Init failed
通过diff对比,发现这个工程里附带的高通专门提供的QNN lib与我在高通官网下载的QNN SDK里的lib不一致。
在这个工程的repo issue list里看到别的人已经跑起来了,不知道问题出在哪里?如果方便的话,还请百忙之中指点一下。
谢谢您的时间并致以真诚的感谢。