This article explains how to reproduce an example using the PyCoral API[1]. The PyCoral is a Python™ API, which is used for three main purposes:
- Inferencing: facilitates the implementation of neural network inference on Coral Edge TPU™
- Pipelining: provides functions to pipeline a model on multiple Coral Edge TPUs
- Transfer learning: enables on device transfer learning
This API is the Python™ equivalent of the C/C++ libcoral API[2].
Several examples can be found on the PyCoral GitHub[3]. This article only shows how to build a semantic segmentation example from scratch. The method used here can easily be applied for other examples.
1. Description[edit | edit source]
This example is based on a semantic segmentation model, which allows identifying and clustering together the pixels of an image belonging to a same class representing an object.
The purpose of this example is beyond the semantic segmentation aspect to demonstrate how to use the PyCoral API to easily realize inferences on Google Coral Edge TPU™[4]
The model used with this example is a deeplabv3 downloaded from the Coral GitHub testing models[5].
2. Installation[edit | edit source]
2.1. Install from the OpenSTLinux AI package repository[edit | edit source]
After having configured the AI OpenSTLinux package, you can install the X-LINUX-AI components for this example:
x-linux-ai -i pycoral
2.2. Source code location[edit | edit source]
The Python™ script semantic_segmentation.py of this example is located in the PyCoral API examples GitHub [6].
3. How to use the example[edit | edit source]
3.1. Download the example[edit | edit source]
As mentioned before, the Python™ script must be downloaded from the PyCoral API examples GitHub [6].
Clone the PyCoral GitHub:
git clone https://github.com/google-coral/pycoral cd pycoral/examples
To download all the files required by the example, a script named install_requirements.sh is provided in the examples directory. This script is very easy to use; only the filename semantic_segmentation.py must be passed in argument to automatically download all the needed files:
./install_requirements.sh semantic_segmentation.py
3.2. launch the application[edit | edit source]
Copy the Python™ script semantic_segmentation.py and the test data directory onto the board:
scp -r ../test_data/ root@<board_ip>:/path/ scp semantic_segmentation.py root@<board_ip>:/path/
Information |
The Coral Edge TPU™ must be plugged on the board before launching the script. |
Launch the example:
python3 semantic_segmentation.py --model test_data/deeplabv3_mnv2_pascal_quant_edgetpu.tflite --input test_data/bird.bmp Done. Results saved at semantic_segmentation_result.jpg
Get the results of the segmentation:
scp root@<board_ip>:/path/semantic_segmentation_result.jpg .
4. References[edit | edit source]