无法在 ML 项目的 esp 32 cam 上验证和部署代码

问题描述 投票:0回答:1

我在从生成的边缘脉冲库的示例上传代码时遇到问题。我完成了视频中显示的每个步骤,但无法上传代码。我还尝试重新创建https:// Circuitdigest.com/microcontroller-projects/object-recognition-using-esp32-cam-and-edge-impulse中的每个步骤。但这没有帮助。

我用过

  • esp 32 凸轮
  • arduino ide 2.3.2(也尝试过 1.8.9)
  • 选定的部署Arduino库
  • v5(Arduino 库)
  • esp 32 库 3.0.3

下面的错误

c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp: In function 'void tflite::{anonymous}::EvalQuantizedPerChannel(TfLiteContext*, TfLiteNode*, const TfLiteDepthwiseConvParams&, const NodeData&, const TfLiteEvalTensor*, const TfLiteEvalTensor*, const TfLiteEvalTensor*, TfLiteEvalTensor*)':
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1727:58: error: either all initializer clauses should be designated or none of them should be
 1727 |                                 .channels = input_depth, 1
      |                                                          ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1731:59: error: either all initializer clauses should be designated or none of them should be
 1731 |                                 .channels = output_depth, 1
      |                                                           ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1733:80: error: either all initializer clauses should be designated or none of them should be
 1733 |     data_dims_t filter_dims = {.width = filter_width, .height = filter_height, 0, 0};
      |                                                                                ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp: In function 'TfLiteStatus tflite::{anonymous}::Prepare(TfLiteContext*, TfLiteNode*)':
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1836:67: error: either all initializer clauses should be designated or none of them should be
 1836 |                                 .channels = input->dims->data[3], 1
      |                                                                   ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1840:68: error: either all initializer clauses should be designated or none of them should be
 1840 |                                 .channels = output->dims->data[3], 1
      |                                                                    ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1842:80: error: either all initializer clauses should be designated or none of them should be
 1842 |     data_dims_t filter_dims = {.width = filter_width, .height = filter_height, 0, 0};
      |                                                                                ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp: In function 'TfLiteStatus tflite::{anonymous}::Prepare(TfLiteContext*, TfLiteNode*)':
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1788:113: error: either all initializer clauses should be designated or none of them should be
 1788 |                                 .width = input_width, .height = input_height, .channels = input->dims->data[3], 1
      |                                                                                                                 ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1791:116: error: either all initializer clauses should be designated or none of them should be
 1791 |                                 .width = output_width, .height = output_height, .channels = output->dims->data[3], 1
      |                                                                                                                    ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp: In function 'void tflite::{anonymous}::EvalQuantizedPerChannel(TfLiteContext*, TfLiteNode*, const TfLiteConvParams&, const NodeData&, const TfLiteEvalTensor*, const TfLiteEvalTensor*, const TfLiteEvalTensor*, TfLiteEvalTensor*)':
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1881:58: error: either all initializer clauses should be designated or none of them should be
 1881 |                                 .channels = input_depth, 1
      |                                                          ^
c:\Users\start\Documents\Arduino\libraries\Antress-project-1_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1885:59: error: either all initializer clauses should be designated or none of them should be
 1885 |                                 .channels = output_depth, 1
      |                                                           ^

exit status 1

Compilation error: exit status 1

我还尝试使用 arduino ide 1.8.9 上传代码,将 esp 32 lirary 降级到 3.0.2、3.0.0。我也尝试在互联网上搜索问题,发现可能是c++版本的问题。但如何检查 arduno ide 中安装的 c++ 版本我不知道(((.

有人可以帮忙吗?

c++ embedded esp32 arduino-ide edge-detection
1个回答
0
投票

不确定您是否仍在寻找解决方案,但您可以这样做:

https://forum.edgeimpulse.com/t/error-compiling-arduino-library-for-xiao-esp32s3-sense/8901

坏事是你在使用它时禁用了 esp NN,所以你的程序不会那么快

© www.soinside.com 2019 - 2024. All rights reserved.