An open API service indexing awesome lists of open source software.

https://github.com/qengineering/tensorflow_lite_classification_rpi_zero

TensorFlow Lite on a bare Raspberry Pi Zero
https://github.com/qengineering/tensorflow_lite_classification_rpi_zero

armv6 cpp deep-learning mobilenet raspberry-pi-zero raspberry-pi-zero-w tensoflow-lite tensorflow-examples

Last synced: 8 months ago
JSON representation

TensorFlow Lite on a bare Raspberry Pi Zero

Awesome Lists containing this project

README

          

# TensorFlow_Lite_Classification_RPi_zero
![output image]( https://qengineering.eu/images/Schoolbus2.png )
## TensorFlow Lite classification running on a bare Raspberry Pi Zero
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)


A 'fast' C++ implementation of TensorFlow Lite classification on a bare Raspberry Pi zero.

Be noted that we use the zero version here, not the new Raspberry Pi zero 2.

Inference time: 11 sec

Special made for a Jetson Nano see [Q-engineering deep learning examples](https://qengineering.eu/deep-learning-examples-on-raspberry-32-64-os.html)

------------

Papers: https://arxiv.org/pdf/1712.05877.pdf

Training set: COCO with 1000 objects

Size: 224x224

------------

## Dependencies.

To run the application, you have to:
- TensorFlow Lite framework installed. [Install TensorFlow Lite](https://qengineering.eu/install-tensorflow-2-lite-on-raspberry-pi-4.html#Zero)

- OpenCV installed. [Install OpenCV 4.5](https://qengineering.eu/install-opencv-4.5-on-raspberry-pi-4.html)

- Code::Blocks installed. (```$ sudo apt-get install codeblocks```)

------------

## Installing the app.
To extract and run the network in Code::Blocks

$ mkdir *MyDir*

$ cd *MyDir*

$ wget https://github.com/Qengineering/TensorFlow_Lite_Classification_RPi_zero/archive/refs/heads/master.zip

$ unzip -j master.zip

Remove master.zip and README.md as they are no longer needed.

$ rm master.zip

$ rm README.md


Your *MyDir* folder must now look like this:

tabby.jpeg

schoolbus.jpg

grace_hopper.bmp

Labels.txt

TensorFlow_Lite_Mobile.cpb

TensorFlow_Lite_Class.cpp



Next, choose your model from TensorFlow: https://www.tensorflow.org/lite/guide/hosted_models

Download a quantized model, extract the .tflite from the tarball and place it in your *MyDir*.


Now your *MyDir* folder may contain: mobilenet_v1_1.0_224_quant.tflite.

Or: inception_v4_299_quant.tflite. Or both of course.


Enter the .tflite file of your choice on line 54 in TensorFlow_Lite_Class.cpp

The image to be tested is given a line 84, also in TensorFlow_Lite_Class.cpp

------------

## Running the app.
Run TestTensorFlow_Lite.cpb with Code::Blocks. More info or

if you want to connect a camera to the app, follow the instructions at [Hands-On](https://qengineering.eu/deep-learning-examples-on-raspberry-32-64-os.html#HandsOn).

------------

[![paypal](https://qengineering.eu/images/TipJarSmall4.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CPZTM5BB3FCYL)