Project ID
Conditions
- Latest firmware downloaded to board
- Successful model generation
Issue
Classifier fails to run with output below
AT+RUNIMPULSEDEBUG
Inferencing settings:
Interval: 0.06 ms.
Frame size: 32000
Sample length: 2000 ms.
No. of classes: 4
Starting inferencing, press 'b' to break
Starting inferencing in 2 seconds...
Recording
Recording OK
ERR: cmvnw failed (-1002)
ERR: Failed to run DSP process (-1002)
ERR: Failed to run classifier (-5)
Hi @mcallistertad This is an out of memory error when running the model. You can up the frame length / frame stride a bit in your DSP block to make it use less memory.
3 Likes
Hi @janjongboom,
I’m getting the same error but I’m not running an audio DSP.
Is there any similar trick to lower memory usage in Spectral Analysis and/or Flatten?
Thanks,
Spiros
@SpirosMakris Typically flatten / spectral analysis blocks use a lot less RAM, so should be less of an issue on this board. Which of your projects does this refer to?
1 Like
Hi @janjongboom!
I though it was a RAM issue, but I’m not so sure now.
I had multiple DSP blocks (1 spectral, 2 flatten) and no matter how I configured them I got the “out of ram” ERR: DSP (-5)/Classifier(-1002) message on the board (I thing these are the error numbers). Although I’m pretty sure there’s like 150k of free RAM left on the ESP.
When I remove the extra DSPs and fed all of my features through a single spectral DSP it runs, but I’m not so sure that feeding 3 different sensor readings in to a single DSP is good for accuracy.
Any thoughts?
The project is: https://studio.edgeimpulse.com/studio/31046
Thanks,
Spiros
@SpirosMakris Ah, yeah, this is a bug that pops up sometimes. There are issues with feeding some axis into one DSP block, and other axis into another. We have a tracking bug for it, but can’t provide a date for this to be fixed yet.
I think just feeding into the single DSP block should be fine for now.
Thanks @janjongboom !
I understand. That’s what I did in the end.
Hoping this will be fixed soon.
Cheers!
1 Like
Thanks @janjongboom. Adjusting the frame length/ stride did the job and it’s running on the hardware now.
As an aside, is there a method for predicting memory usage before the binary is generated for the target hardware? A warning or something would be useful.
Yeah we have all that data already available in the backend, but we don’t expose it yet. Good suggestion.
1 Like
@SpirosMakris We have a patch ready, hope to release this next week (anything that touches core DSP code requires some extensive testing on device ).
2 Likes
Hey @janjongboom, glad to hear this is being fixed. Is there anyplace I could look for status updates on this, like a github issue or a log?
Thanks,
Spiros
Hi, our GH issues are not public unfortunately, but I’ll update this forum post once released - we’re investigating flash size increase on one of our targets with the patch.
1 Like
Thanks @janjongboom! I’ll keep an eye on this!
Cheers,
Spiros
This has now been resolved!
1 Like
Thanks for the update @janjongboom!
1 Like