Tuning files for rasp3b

I’m working the the rasp3b and I’m unable to achieve performance anywhere close to the benchmarks. I searched through the git tree and I don’t see the tuning logs for the rasp3b checked in. Where can I get a copy of the ones used for the benchmark so that I can figure out what is wrong with my setup.

Am I correct in adding:
with autotvm.apply_history_best(‘tune.log’):

Into arm_cpu_imagenet_bench.py to enable tuning?
Then I need a good tuning log for rasp3b, right?

Typically we do not explicitly specify a log file unless tuning is done for a new, custom network. You can download the out-of-the-box tuned logs using this script: https://github.com/dmlc/tvm/blob/master/python/tvm/autotvm/tophub.py

I’m getting tripped up since the dev board evironment from the vendor is eabi, not eabihf. Because of this I have to add -mfloat-abi=soft to llc and now the targets don’t match. I’m going to try building a statically linked libtvm_runtime.so using eabihf. That should let me use eabihf models on a eabi OS.

The dev board I’m using has an Allwinner V5 CPU. The ARM CPU is quad core armv7l - identical to rasp3b. This board is interesting because its under $100 and has dual 4K camera support with hardware binocular depth map.

It also has a hardware HAAR classifier engine.

1.2.1 EVE Functional Description 1.360p detection speed>30FPS (working frequency >300MHZ) 2. Support classic HAAR feature classifier detection, the number of features up to 3200 3. Support maximum resolution 4K input and internal zoom to support region of interest detection 4. Support 4-channel integral map calculation, processing 1.3 billion features per second 5. Support 3-channel feature calculation 6. Support user-defined target size, support 432 different kinds of detection frames 7. Supports minimum 64x64 pixel single image detection 8. Low power consumption, 360p full picture detection <57mw 9. Classifier visual design, providing a complete set of training, debugging, testing and evaluation tools 10. Customizable classifiers to support arbitrary small deformation rigid target detection (face, vehicle, license plate, pedestrian,

I am not sure the hardware is apples-to-apples with the 4xCortex A-53 in the Raspberry Pi, which is a different microarchitecture. That said, it should be possible to tune schedules for a 4xCortex A-7 board, but we cannot provide pretuned configurations as we do not have the hardware on-hand.

The HAAR feature engine is interesting, but we will likely need a custom network topology to target it (seems like very fixed function hardware), and I don’t know the programming model of the hardware.

I am confused, it is the RaspPI2 that has A7.

Yes, the rpi3b has the 4xA-53. I’m referring to this:

The dev board I’m using has an Allwinner V5 CPU. The ARM CPU is quad core armv7l - identical to rasp3b.

The specsheet for the Allwinner V5 on the website lists: CPU: Quad-core ARM Cortex-A7 Processor@1512Mhz

I had thought the Rasp3 was the one with the A7, I see now that it is the Rasp2.

We are able to get the HAAR engine to detect motion and draw bounding boxes. From the manual
“The CVE moving target detection module can effectively detect moving objects such as vehicles, pedestrians, and animals, and can support different detection purposes. More than a dozen sub-functions such as perimeter intrusion, warning line, retrograde, illegal parking. Full-featured, high detection accuracy, fast speed, CPU Low resource occupancy and other characteristics.”

My idea was to clip out the areas from the bounding boxes and feed them into TVM to get a better label for what is inside of them. The Allwinner code I have only detects person, car, unknown object.