我制作了一个模型,可以预测图像上的字符,以进行车牌识别。它在我的计算机上运行良好,但是我需要将此工作放到Android应用中。因此,我开发了一个小应用程序,并将我的keras模型转换为tflite。现在,它总是预测相同的字符。
我使用转换了模型:
import pandas as pd
import numpy as np
df['Score'] = pd.cut(df['Age'], bins=[-np.inf, 0, 10, 30, 90, np.inf],
labels=[100, 90, 80, 50, 10], right=True)
ID Age Score
0 1 0 100
1 2 20 80
2 3 50 50
3 4 70 50
4 5 100 10
5 6 150 10
6 7 5 90
是否有更好的方法来转换模型,或者我缺少什么?
编辑::这是我管理位图所做的
mod_path = "License_character_recognition.h5"
def load_model(path,custom_objects={},verbose=0):
#from tf.keras.models import model_from_json
path = splitext(path)[0]
with open('MobileNets_character_recognition.json','r') as json_file:
model_json = json_file.read()
model = tf.keras.models.model_from_json(model_json, custom_objects=custom_objects)
model.load_weights('%s.h5' % path)
if verbose: print('Loaded from %s' % path)
return model
keras_mod = load_model(mod_path)
converter = tf.lite.TFLiteConverter.from_keras_model(keras_mod)
tflite_model = converter.convert()
# Save the TF Lite model.
with tf.io.gfile.GFile('ocr.tflite', 'wb') as f:
f.write(tflite_model)
答案 0 :(得分:1)
您可以使用TensorFlow Lite Android Support Library。 library旨在帮助处理TensorFlow Lite模型的输入和输出,并使TensorFlow Lite解释器更易于使用。
按如下所示使用它,并在this article中找到更多信息:
MyScreen