Open kingmacth opened 2 years ago
3. 实测NNAPI确实会比GPU代理慢一点,这一点可能跟NNAPI的算子或者是tflite对GPU的专门优化
谢谢回复。 1.无是使用的同一台设备测试,所以环境相同。无是很好奇官方是怎么做大那么快到。 2.无也在想你的时间统计应该不只是推理时间。无看看能不能找到位置把图像处理时间、推理时间和后处理时间区分出来。而且这三个时间实际是可以异步并行处理到,就会快很多,图像可能会出现一两帧到延迟。 3.是否存在yolov5有nnapi不支持到算子情况。理论上应该NNAPI更快。无测试TensorFlow官方到模型都是NNAPI效率最高。
我说到官方模型是https://play.google.com/store/apps/details?id=com.ultralytics.ultralytics_app。是yolov5给出到一个yolov5s在安卓上到app。在无这台设备上可以跑到30ms。但是他们没有开源代码。所以不知道如何实现到
看了一下确实是29ms,快很多,有空去翻翻v5的issue和wiki看看有没有想过资料。
看了一下确实是29ms,快很多,有空去翻翻v5的issue和wiki看看有没有想过资料。
这两天都翻遍吧。把所有第三方实现到都跑了一遍没有能达到这个效果到。官方到偏偏不公布代码。正在联系他们看看能不能拿到。
您好,我用NNAPI确实更快了,但没显示检测框是为什么? @yyccR ,麻烦解答一下,谢谢~
有什么错误信息吗,Android-studio logcat里面的日志输出 @visonpon
@yyccR logcat里边确实出现了错误,如下:
E ANeuralNetworksModel_setOperandValue setting operand 117 which has operand type that is not fully specified
2024-03-08 10:31:56.749 7209-7209 ModelBuilder com.example.yolov5tfliteandroid
E ANeuralNetworksModel_setOperandValue setting operand 119 which has operand type that is not fully specified
2024-03-08 10:31:56.750 7209-7209 ModelBuilder com.example.yolov5tfliteandroid
E ANeuralNetworksModel_setOperandValue setting operand 126 which has operand type that is not fully specified
2024-03-08 10:31:56.750 7209-7209 ModelBuilder com.example.yolov5tfliteandroid
E ANeuralNetworksModel_setOperandValue setting operand 130 which has operand type that is not fully specified
2024-03-08 10:31:56.765 7209-7209 ModelBuilder com.example.yolov5tfliteandroid
E Graph contains at least one cycle or one never-written operand
2024-03-08 10:31:56.770 7209-7209 image com.example.yolov5tfliteandroid
E load model error: Internal error: Failed to apply delegate: NN API returned error ANEURALNETWORKS_BAD_DATA at line 1944 while setting new operand value for tensor 'model_1/tf_detect_1/mul_1/y'.
NN API returned error ANEURALNETWORKS_BAD_DATA at line 1944 while setting new operand value for tensor 'model_1/tf_detect_1/sub/y'.
NN API returned error ANEURALNETWORKS_BAD_DATA at line 1944 while setting new operand value for tensor 'model_1/tf_detect_1/strided_slice_14'.
NN API returned error ANEURALNETWORKS_BAD_DATA at line 19java.lang.IllegalArgumentException: Internal error: Failed to apply delegate: NN API returned error ANEURALNETWORKS_BAD_DATA at line 1944 while setting new operand value for tensor 'model_1/tf_detect_1/mul_1/y'.
NN API returned error ANEURALNETWORKS_BAD_DATA at line 1944 while setting new operand value for tensor 'model_1/tf_detect_1/sub/y'.
NN API returned error ANEURALNETWORKS_BAD_DATA at line 1944 while setting new operand value for tensor 'model_1/tf_detect_1/strided_slice_14'.
NN API returned error ANEURALNETWORKS_BAD_DATA at line 19
看报错信息是模型不支持 NNAPI 相关算子,请问你的模型是哪个版本的tflite导出的?
同样跑yolov5s,官方程序可以跑到30ms以下。你这个GPU跑100多。NNAPI跑300多。 但是没有拿到官方到源码