Skip to content

Latest commit

 

History

History

coral_tpu

Coral TPU Project

Google Coral USB Accelerator belongs to the Neural Processing Unit (NPU) class or Tensor Processing Unit (TPU) for Google and is an application-specific integrated circuit developed by Google and designed for use with the TensorFlow Lite machine learning library.

Google Coral USB Accelerator

Performance tests for Coral NPU and CPU on various computers are shown on the diagram below. Less is better

Google Coral benchmarks diagram

  • Pi4 – Raspberry Pi 4 Model B single board computer (SBC) with Broadcom BCM2711 chipset running the Debian GNU/Linux 11 (bullseye) operating system (OS).
  • CoolPi – Cool Pi 4 Model B SBC with Rockchip RK3588s chipset running Ubuntu Linux 22.04.3 LTS (Jammy Jellyfish) OS.
  • Desktop – CPU Intel i7-4770 personal computer with Intel Lynx Point Z87 (Intel Haswell) chipset running Microsoft Windows 10 OS.

For clarity, time is presented on a logarithmic scale, since the speed in milliseconds (ms) for the same classification task differs by tens and even thousands of times.

  • "TPU+TFLite" – performance tests for Coral TPU with 4 TOPS.
  • "CPU+TF" – performance tests for CPU and the TensorFlow library (TF).
  • "CPU+TFLite" – performance tests for CPU and the TensorFlow Lite (TFLite) library.
  • "TPU+TF" – the 4th combination Coral TPU with TensorFlow does not work with existing neural network models.

Tests are made for the image classification task using MobileNet v3 artificial neural network model trained on ImageNet dataset. Files tf2_mobilenet_v3_edgetpu_1.0_224_ptq_edgetpu.tflite for TPU and tf2_mobilenet_v3_edgetpu_1.0_224_ptq.tflite for CPU are from the Coral data repository. The benchmark software is located in the files tf_lite.py and tf_lite_benchmarks.py. Log file with test results.

Jupyter Notebooks:

  • get_data_for_tests.ipynb gets data for performance tests;
  • run_tf_on_cpu_gpu_tpu.ipynb additional performance tests;
  • performance_tests.ipynb performance tests;
  • coral_tpu_tests.ipynb TF and tflite_runtime (TFLite) libraries cannot run in the same environment, so run Coral tests separately.