首页 > 解决方案 > Snapdragon 神经处理 - SNPE

问题描述

我对这个平台很陌生,所以如果我的问题很愚蠢,请善待。目前我正在尝试通过使用 SNPE 来检测人体姿势来集成深度学习模型。该模型的架构如下:

输入 -> CNN 层 -> 分离到两组不同的 CNN -> 2 个不同的输出层

所以,基本上我的网络是从输入数据中说明的,然后生成两个不同的输出(输出 1 和输出 2),但是当我尝试在 SNPE 中执行网络时,似乎只有关于输出 2 层的信息。你们中是否有人对这种情况有任何想法,我是否可以寻找 output1 的输出。谢谢大家!。

标签: androidinputmobileconv-neural-networksnpe

解决方案


我假设您已成功将模型转换为 DLC,并尝试使用 snpe-net-run 工具运行网络。为了获得多个输出,在运行 snpe-net-run 时,您需要在提供给 --input_list 参数的文件中指定输出层(除了输入之外)。假设outputlayer1outputlayer2是 2 个输出层的名称,~/test/example_input.raw是输入的路径,那么相同的输入列表文件格式如下:

#outputlayer1 outputlayer2
~/test/example_input.raw

在第一行中,# 后面是输出层名称,由空格分隔。下一行包含输入的路径(单个输入案例)。您还可以添加多个输入文件,每次迭代一行。如果每次迭代有多个输入,则应使用空格作为分隔符。输入列表文件的一般格式如下

#<output_name>[<space><output_name>]
<input_layer_name>:=<input_layer_path>[<space><input_layer_name>:=<input_layer_path>]
  …

您可以参考snpe-net-run文档以获取更多信息。


推荐阅读