-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
小米手机需要root吗? #7
Comments
不需要root。8650的适配看来有点问题 |
谢谢!这些适配的问题如果没有项目维护人的指点,靠项目用户自己一点点摸索,可能有点困难。 btw,贵公司的这个项目中部分如何使用QNN的代码(这些代码在高通公开的资料里看不到)对我一个个人项目帮助很大,跨越了一个block了几天的问题。在此谢谢了。 |
哈哈,别误会了,我不是雷总的部下,看到这个repo对于端侧AI的探索做出了不小贡献,刚好我了解一点这块就扫了一眼issues。 QNN的资料是公开的,SDK里面有个sample可以参考 |
喔。 谢谢。高通官网上下载的QNN SDK sample里的代码看过了。 |
问题已定位,高通接口 二进制不兼容,导致失败。 详细原因: K70 Pro手机系统版本高,必须使用新的SDK,否则在读取so符号表正确,但进行调用qnn_net->getBackendBuildId()函数指针时错误,从而crash; typedef struct { |
您好,
冒昧打扰您了。
我是一个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里看到别的人已经跑起来了,不知道问题出在哪里?如果方便的话,还请百忙之中指点一下。
谢谢您的时间并致以真诚的感谢。
The text was updated successfully, but these errors were encountered: