我在从生成的边缘脉冲库的示例上传代码时遇到问题。我完成了视频中显示的每个步骤,但无法上传代码。我还尝试重新创建https:// Circuitdigest.com/microcontroller-projects/object-recognition-using-esp32-cam-and-edge-impulse中的每个步骤。但这没有帮助。
我用过
下面的错误
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++ 版本我不知道(((.
有人可以帮忙吗?
不确定您是否仍在寻找解决方案,但您可以这样做:
https://forum.edgeimpulse.com/t/error-compiling-arduino-library-for-xiao-esp32s3-sense/8901
坏事是你在使用它时禁用了 esp NN,所以你的程序不会那么快