Skip to main content

Convert Tensor protobuf (.pb) file to lite file via WIndows 10

In the previous tutorial, i have done the train tensor model for image classification. Here, let start to  convert Tensor protobuf (.pb)  to lite file.  This lite file is important that allows you to port this file to use on Mobile or Embedded devices.

For me, convert Tensor protobuf (.pb) to lite file not as easier as a lot of tried with different converter tools and environments such as codelab, Linux, bazel etc. A lot of problems met before such as failed to compile Toco script, Android App will be crash once run with compiled lite lib.

Anyway, finally, I have succeeded to convert Tensor protobuf (.pb) to lite file and able run properly on Android phones.

Environment:  Asus Rog Laptop Strix G running Windows 10 Home

1. Create folder, e.g: TensorTrain_heng
2. Download Python Script below and put inside this folder, "TensorTrain_heng"
     i) google_images_download.py : Link
    ii) retrain.py: refer the previous tutorial

2. Open command prompt inside this folder: TensorTrain_heng.

3. Download "durian"  image file by run this command:
python google-images-download.py --output_directory "fruit" --keywords "durian" --limit 30 --format jpg
3. Download "durian  belanda" image file by run this command:
python google-images-download.py --output_directory "fruit" --keywords "durian belanda" --limit 30 --format jpg
4. Rename all Image, example:
From:


To:

6. Run retrain command :
python retrain.py --image_dir=tf_files/fruit --bottleneck_dir=./output/bottlenecks --how_many_training_steps=500 --model_dir=./output/models --summaries_dir=./output/training_summaries/"mobilenet_0.50_224" --architecture="mobilenet_0.50_224" --output_graph ./output/output_graph.pb --output_labels ./output/output_labels.txt --saved_model_dir ./output/saved_model
7. Now you can see that the pb file which located on output folder was ready.

8. Now can convert the pb file to lite file by enter toco retrain command :
toco --graph_def_file=./output/output_graph.pb --output_file=./output/optimized_graph.lite --output_format=TFLITE --input_shape=1,224,224,3 --input_array=input --output_array=final_result --inference_type=FLOAT --inference_input_type=FLOAT



8. Now you can see that the lite file is available and was located on the output folder.
9.Done !

Next: Port Lite file to Android Phones for Image Classification.

Comments

Popular posts from this blog

Fixed issues:AttributeError: module 'tensorflow' has no attribute 'Session'

The previous blog, Train Custom Image Classification Model using Google Inception API was shared with you on how to train and prepare your data set. Some reader feedback that they are facing some issues with data set compilation. The issues mentioned were: AttributeError: module 'TensorFlow' has no attribute 'Session'. To fix these issues, you only need to reinstall tensorflow-gpu 1.15.0: pip3 install -- upgrade -- force - reinstall tensorflow - gpu == 1.15 . 0 more info: stack overflow hwerwerTrain Custom Image Classification Model using Google Inception API Train Custom Image Classification Model using Google Inception API

SmartSOS AI System

Abstract SmartSOS is an emergency AI handling system that works on Arduino Nano and Android mobile phones. In an emergency, the user(s) can trigger an emergency message by simply waving their hand. The emergency message (SMS) that send to related contacts consists of the user's contact number and location coordinates. Purpose Robbers and thieves can strike unexpectedly, and they can catch you off guard even if you already have an emergency plan in place. During a Robbery, you may have no time to pick up your phone to call for an emergency. Even there has some emergency app that integrates all the functionalities within one app with one action, but pickup phone and opening these apps will consume time hence will alert that the robbery's attention. SmartSOS AI System  With SmartSOS AI System, what to do during a Robbery? First, remain calm and simply raise up both hands. Then wave your hand left and right continues for more than 3sec, generally Wave Hand may likely draw the Robbe

Compile TensorFlow - Hello World

Previous tutorial was shared with you on how to setup tensorflow into your machine or PC. Now let us start test a simple tensorflow code to compile on our setup environment. 1. Open Comand Prompt on your PC. 2. Key in to conda info --envs verify tensorflow was installed on your PC. 3. Activated tensorflow , then let try to import tensorflow lib by key in import tensorflow as tf. 4. Now go to Anaconda> Sypder  editor , then key in the hello world code as below: 5. Then click to run the program, done! ** Note: You also can direct compile from Command prompt: python >>> import tensorflow as tf >>> hello = tf.constant('Hello, Tensorflow') >>> sess = tf.Session() >>> print(sess.run(hello))