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 buturllib.request.urlopen
gets an error. I manually downloaded the files into the right places.