高通 SNPE sdk 和 SSD 模型
Posted
技术标签:
【中文标题】高通 SNPE sdk 和 SSD 模型【英文标题】:Qualcomm SNPE sdk and SSD model 【发布时间】:2018-03-11 16:40:37 【问题描述】:我尝试使用 Qualcomm SNPE 在我的骁龙 820 上集成优化 SSD 模型计算。我成功地将 SSD TensorFlow 模型转换为 DLC 文件。
没有整合 SSD 模型的例子我尝试了不同的解决方案但没有成功。
有人找到示例或有解决方案可以在 snpe run net 可执行文件上使用吗?
编辑:
首先,当我生成 dlc 模型(来自 tensorflow 模型 github)时,我得到了输出(这似乎不正确):
./snpe-tensorflow-to-dlc --graph /home/xavier/Downloads/frozen_inference_graph.pb -i Preprocessor/sub 300,300,3 --out_node detection_classes --out_node detection_boxes --out_node detection_scores --dlc mobilenet_ssd.dlc --allow_unconsumed_nodes
2018-03-11 22:34:33.243539: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-03-11 22:34:34.505804: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1890] has already been set.
2018-03-11 22:34:34.505849: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1847] has already been set.
2018-03-11 22:34:34.505869: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2137] has already been set.
2018-03-11 22:34:34.505884: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2140] has already been set.
2018-03-11 22:34:34.505924: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2143] has already been set.
2018-03-11 22:34:34.505935: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2141] has already been set.
2018-03-11 22:34:34.505950: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2144] has already been set.
2018-03-11 22:34:34.505964: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2146] has already been set.
2018-03-11 22:34:34.505977: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2148] has already been set.
2018-03-11 22:34:34.505991: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2150] has already been set.
2018-03-11 22:34:34.506004: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[2138] has already been set.
2018-03-11 22:34:34.506020: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1851] has already been set.
2018-03-11 22:34:34.506027: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1848] has already been set.
2018-03-11 22:34:34.506036: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1850] has already been set.
2018-03-11 22:34:34.506055: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1849] has already been set.
2018-03-11 22:34:34.506483: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1857] has already been set.
2018-03-11 22:34:34.506535: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1855] has already been set.
2018-03-11 22:34:34.506539: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1853] has already been set.
2018-03-11 22:34:34.506561: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1854] has already been set.
2018-03-11 22:34:34.506547: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1856] has already been set.
2018-03-11 22:34:34.506574: W tensorflow/core/framework/op_kernel.cc:1202] OP_REQUIRES failed at function_ops.cc:80 : Internal: Retval[1852] has already been set.
2018-03-11 22:34:34,512 - 391 - WARNING - ERROR_TF_FALLBACK_TO_ONDEMAND_EVALUATION: Unable to resolve operation output shapes in single pass. Using on-demand evaluation!
然后我为 snpe-net-run 生成输出:
./snpe-net-run --container ./mobilenet_ssd.dlc --input_list ../../models/inception_v3/data/cropped/raw_list.txt
对每张图片,生成detection_classes:0.raw文件。
该文件不为空,但似乎所有图像都相同。
这是我得到的示例文件:
http://www.filedropper.com/detectionclasses0
【问题讨论】:
【参考方案1】:您可以在SDK/docs/html/tutorial_alexnet.html
中找到snpe-net-run的用法
【讨论】:
谢谢,我修改主帖上传以上是关于高通 SNPE sdk 和 SSD 模型的主要内容,如果未能解决你的问题,请参考以下文章
高通平台开发系列讲解(AI篇)如何让yolov5运行在SNPE