Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OSError: SavedModel file does not exist at: C:\Users\Munib\New folder/{saved_model.pbtxt|saved_model.pb}

I wanted to use my keras trained model in android studio. I got this code on internet to convert my code from keras to tensorflow-lite. But when i tried code i got this error:

OSError: SavedModel file does not exist at: C:\Users\Munib\New folder/{saved_model.pbtxt|saved_model.pb}

The code i used from converting from keras to tensorflow-lite:

import tensorflow as tf
# Converting a SavedModel to a TensorFlow Lite model.
saved_model_dir = r"C:\Users\Munib\New folder"
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()

# Converting a tf.Keras model to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

# Converting ConcreteFunctions to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_concrete_functions([func])
tflite_model = converter.convert()
like image 213
Mirza Munib Avatar asked Jun 13 '20 10:06

Mirza Munib


2 Answers

First of all it's best to use relative path instead of absolute path. second, if you use model.save('my_model') then keras will create a directory for you with the name my_model in which you should find a file with the pb or pbtxt extension, this is the directory you should use for tflite converter

like image 158
Mahmoud Youssef Avatar answered Oct 29 '22 20:10

Mahmoud Youssef


I also faced this problem when working on google Colab. It seemed, my Colab lose the directory path data where the model is located. Simply run these two lines again and try again. Hopefully, that'll solve the problem :

import os
os.chdir("/content/drive/My Drive/path/to/your/model")
like image 41
Mohammed Jafar Sadik Avatar answered Oct 29 '22 21:10

Mohammed Jafar Sadik