首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高通神经处理引擎(NPE)加载模型失败

高通神经处理引擎(NPE)加载模型失败
EN

Stack Overflow用户
提问于 2017-09-01 05:44:04
回答 1查看 1.6K关注 0票数 4

我遵循高通神经处理引擎教程来构建示例应用程序。

当app加载模型出现错误时。错误信息跟随

代码语言:javascript
复制
09-01 12:21:20.600 30650-30681/com.qualcomm.qti.snpe.imageclassifiers E/LoadNetworkTask: Unable to create network! Cause: error_code=307; error_message=Model record is missing in dlc. Missing mandatory record model; error_component=Dl Container; line_no=447; thread_id=-1422036112
                            java.lang.IllegalStateException: Unable to create network! Cause: error_code=307; error_message=Model record is missing in dlc. Missing mandatory record model; error_component=Dl Container; line_no=447; thread_id=-1422036112
                            at com.qualcomm.qti.snpe.internal.NativeNetwork.nativeInitFromFile(Native Method)
                            at com.qualcomm.qti.snpe.internal.NativeNetwork.<init>(NativeNetwork.java:90)
                            at com.qualcomm.qti.snpe.SNPE$NeuralNetworkBuilder.build(SNPE.java:214)
                            at com.qualcomm.qti.snpe.imageclassifiers.tasks.LoadNetworkTask.doInBackground(LoadNetworkTask.java:50)
                            at com.qualcomm.qti.snpe.imageclassifiers.tasks.LoadNetworkTask.doInBackground(LoadNetworkTask.java:20)
                            at android.os.AsyncTask$2.call(AsyncTask.java:292)
                            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
                            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                            at java.lang.Thread.run(Thread.java:818)

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-07 13:49:25

解决这一问题的顺序如下:

1)下载并打包alexnet模型,就像https://developer.qualcomm.com/software/snapdragon-neural-processing-engine-ai/getting-started特有的那样,您需要:

代码语言:javascript
复制
cd $SNPE_ROOT/examples/android/image-classifiers
cp ../../../android/snpe-release.aar ./app/libs # copies the NPE runtime library
bash ./setup_models.sh

2)之后,您可能会面临以下问题:https://developer.qualcomm.com/forum/qdn-forums/software/snapdragon-neural-processing-engine-sdk/35375

代码语言:javascript
复制
/raw_alexnet.zip.flat: error: failed to read data meta data.

要解决这个问题,您可以在这里使用第一个旁路( Android Studio "error: failed to read metadata" after update to 3.0.0),因为这是aapt2中正在进行的错误。

3)如果仍未解决,请使用亚行外壳验证所有文件都在android设备上:

代码语言:javascript
复制
adb shell
sifiers/files $ ls -R /storage/emulated/0/Android/data/com.qualcomm.qti.snpe.i>ssifiers/files $ 

/storage/emulated/0/Android/data/com.qualcomm.qti.snpe.imageclassifiers/files/models/:
alexnet

/storage/emulated/0/Android/data/com.qualcomm.qti.snpe.imageclassifiers/files/models//alexnet:
images

/storage/emulated/0/Android/data/com.qualcomm.qti.snpe.imageclassifiers/files/models//alexnet/images:
shell@msm8996:/storage/emulated/0/Android/data/com.qualcomm.qti.snpe.imageclassifiers/files $ 

我们在这里看到的是: a.问题是SNPE搜索文件的位置不对,所以您可以将目录移到正确的位置

代码语言:javascript
复制
cd /storage/emulated/0/Android/data/
mv com.qualcomm.qti.snpe.imageclassifiers com.qualcomm.qti.snpe

b.目录是空的,所以您可以将预期的数据推送到正确的位置:只需将其解压缩到特定的目录中,然后从目录中执行:

代码语言:javascript
复制
adb push ./ /storage/emulated/0/Android/data/com.qualcomm.qti.snpe/files/models/alexnet/

而且它应该能工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45993938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档