对于我的期末大学考试,我正在尝试将 SNPE 与 Tiny YOLO 一起用于 Android 应用程序中的实时对象检测。我成功地将模型转换为 DLC 格式,但我不明白如何准备输入张量以及如何处理输出张量。同一个人可以帮助我吗?谢谢。
问问题
829 次
1 回答
3
构建 SNPE 神经网络并获得输出 FloatTensor 的步骤:
在 Android/app 目录中创建一个资产文件夹,并将模型文件(.dlc)保存在资产文件夹中。
// assetFileName is the file name of .dlc InputStream assetInputStream = application.getAssets().open(assetFileName); // Create and build the neural network NeuralNetwork network = new SNPE.NeuralNetworkBuilder(application) .setDebugEnabled(false) //outputLayerNames can be got while converted model to DLC format .setOutputLayers(outputLayerNames) .setModel(assetInputStream, assetInputStream.available()) .setPerformanceProfile(NeuralNetwork.PerformanceProfile.DEFAULT) .setRuntimeOrder(selectedRuntime) // Runtime.DSP, Runtime.GPU_FLOAT16, Runtime.GPU, Runtime.CPU .setCpuFallbackEnabled(needsCpuFallback) .build(); // Close input assetInputStream.close();
创建输入张量
- 通过网络传播输入张量
- 处理神经网络输出
请按照下面的链接查找步骤 2,3 和 4 中提到的用于准备输入张量和处理输出张量的部分https://developer.qualcomm.com/docs/snpe/android_tutorial.html
于 2019-08-13T12:16:54.843 回答