"TDA4VM" chip family for embedded vision processing

Ok! I have a board. Here’s a transcript of my first steps with the BeagleBone AI-64. (Note: this is specific to the BB, other TDA4VM chips will have slightly different setups)

I have noticed that only half of the RAM (2/4 GB) is appearing to the OS. This is apparently because the remaining RAM is mapped to the coprocessor cores by default. See: BBAI64 | reduced RAM size with latest debian image - #3 by kaelinl - General Discussion - BeagleBoard

Original status hidden (see below for update)

Below is what I’ve done so far. I’ll edit and reply as I learn more.

I’ve flashed a MicroSD card with the latest EdgeAI image for testing. It is bbai64-debian-11.4-xfce-edgeai-arm64-2022-09-02-10gb.img.xz.

See this thread also, in which I’m troubleshooting the state I’ve gotten myself into using the steps below: TIDL/EdgeAI benchmarks on the AI-64 - General Discussion - BeagleBoard

Setup

Expand rootfs (if using SD card)

The default rootfs is 10GB for this image. To expand it to use your full SD card:

wget https://raw.githubusercontent.com/RobertCNelson/boot-scripts/master/tools/grow_partition.sh
chmod +x grow_partition.sh
sudo ./grow_partition.sh
sudo reboot

Disable web servers

If unused, you can disable these:

sudo systemctl disable --now bb-code-server
sudo systemctl disable --now nodered

Running EdgeAI benchmark suite

/opt has some of these files already in the EdgeAI image, but

# Specific commits are my best guess to match TIDL 8.2 that seems to come with this image
git clone https://github.com/TexasInstruments/edgeai-benchmark.git -b 3342c09c56006f847a4907e2e930991bc2af4a21
git clone https://github.com/TexasInstruments/edgeai-modelzoo.git -b 20ef897df41198201a88e6250901934466303b57

sudo apt update
sudo apt-get install python3-venv
# Note: Retroactively added --system-site-packages because it needs the global install of onnxruntime.
python -m venv --system-site-packages benchmarkenv
source ./benchmarkenv/bin/activate

# Required for onnx
sudo apt install protobuf-compiler
pip install --upgrade onnx

pip install -r requirements_evm.txt

# See notes below before continuing

./run_benchmarks_evm.sh

I found the following issues which I had to manually correct:

  • The NYU depth dataset’s normal host seems to be unavailable. I had to disable that dataset.
  • The downloads from TI’s servers of the ONNX models failed with 403 errors, for reasons that are unclear. resuests.get/curl/etc. works but urllib.request.urlopen gets an error. I manually downloaded the files into the right places.