Connection between raspberry pi 4 and edge impulse

Oh okay, @shawn_edgeimpulse, that makes some sense. Would I change target_label to a name within my project, or does this classify it as it’s own variable?

@shawn_edgeimpulse Hi, I’m also one of the members working on this project. So, for target_label there is no label called access within our samples. We just want that as soon as we say the word access then it performs the commands in the lines after it.

The target_label Shawn referred to is whatever is in your project within Studio in the Impulse Design section in the Output Features Block.

1 Like

Oh okay, that makes sense. I currently have disabled the noise and unknowns from my project, would I just redownload the modelfile.eim to implement the changes?
@shawn_edgeimpulse @MMarcial

Now it’s currently giving us an “unsupported aarch64” error now that I am trying to run a new --download modelfile.eim

Just redownload the modelfile.eim to implement the changes AFTER:

  • executing all the sections in the Impulse Design Section and then
  • goto the Deployment page and build the Linux (AARCH64) ready-to-go binary.

Assuming you re-built the Impulse and Built the binary and are now getting unsupported aarch64, then something else must have changed besides just the EIM file. My advice is to check you engineering logbook you are using to document this task (a very important task if you are ever going to file for a patent). Then start rolling back changes until you get to a working version, then start moving forward carefully documenting changes.

Perhaps a capture of the screen with the unsupported aarch64 error might help.

Check these forum posts here and here.


Hi @MMarcial , this is a screenshot of the error we got.

@louis @shawn_edgeimpulse I am out of ideas. Any advice?

What does uname -m show?

@MMarcial
Could you also tell us which OS you are running and what is the Node.js version?

Best regards,
Mateusz

  • @fubar and @ASM56 Mr. Mateusz wants to know your node.js version.
    • At a CMD line type node --version.

@ASM56 could you describe your whole development environment? As I see you are using RPi OS 64-bit. But which exact version? And what is your Node.js version?
Could you report us the output of those commands on your board?

  • cat /etc/os-release
  • cat /etc/rpi-issue
  • node --version

You can also force to build/deploy particular target: edge-impulse-linux-runner --force-target runner-linux-aarch64

BR,
Mateusz

@ASM56 It seems the issue may be related to the Node.js version you are using (or upgrading the system). See this SO topic: node.js - Node does not detect correct arch on Raspberry Pi arm64 - Stack Overflow

BR,
Mateusz

@MMarcial @mateusz @AIWintermuteAI Works as needed after re-installing the OS to a 64-bit system. Thanks.

If I want to remove the modelfile.eim since I recalibrated by adding new samples and removed old ones, do I just drag the old modelfile.eim into the trash and run the “edge-impulse-runner-linux --download modelfile.eim” again? @mateusz @MMarcial @shawn_edgeimpulse

Hi @fubar,

Yes, you can just delete the .eim file and re-download it using the the runner command you posted.

Another error occurred, after changing the Modelfile.eim out, the run command would just error and time out. We tried rerunning it and it gave us a problem with the lib portaudio0, so we just redid the whole thing and is still giving us the same error. Followed step-by-step and this error continues on our AARCH64, we tried running it on 32-bit but it still failed. @shawn_edgeimpulse

I have redownloaded the 64-bit Raspberry Pi OS, uploaded that to my Raspberry Pi 4, did all the steps for the dependencies, as well as the SDK-Linux set up process to get my raspberry pi set up. I get to the point to where I ru

Sudo apt-get install libatlas-base-dev libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev libopenjp2-7 libgtk-3-0 libswscale-dev libavformat58 libavcodec58

and

pip3 install edge_impulse_linux -i Simple index

Then it gives me an error for not having lib portaudio0 for some reason? Despite the fact it worked fine prior. I then run a command:

sudo apt install portaudio19-dev

because someone from another forum said it fixed it for them, but not for me I guess?
Then I go on to finishing the other steps @shawn_edgeimpulse instructed me to do like the first time, and now I get errors stating:

File “/home/team7/linux-sdk-python/examples/audio/classify.py”, line 5, in from edge_impulse_linux.audio import AudioImpulseRunner
File “/home/team7/.local/lib/python3.9/site-packages/edge_impulse_linux/init.py”, line 2 in from edge_impulse_linux import audio
File “/home/team7/.local/lib/python3.9/site-packages/edge_impulse_linux_audio.py”, line 3, in import pyaudio
ModuleNotFoundError: No module named “pyaudio”

This all happens when I try to run:

python classify.py modelfile.eim

It was working earlier today before the OS wipe, now it’s not. Any solution?
@MMarcial @mateusz

Hello @fubar,

Can you try to install pyaudio?

python -m pip install pyaudio

Best,

Louis

The pip3 worked whenever I used python3 as a category to download. The last problem we’re having is that sometimes a user that isn’t speaking is hitting 1.00 in the terminal output of the classify.py. We can’t figure out as to why that is. We have around 3 minutes in samples of each member (three total) as our output, but for some reason one of them gets a 1.00 whenever someone else speaks/ no one is speaking. Any reason you may think this is happening?