为什么tflite模型的准确性与keras模型如此不同?

时间:2020-09-03 14:57:43

标签: python tensorflow tensorflow-lite

我制作了一个模型,可以预测图像上的字符,以进行车牌识别。它在我的计算机上运行良好,但是我需要将此工作放到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)

1 个答案:

答案 0 :(得分:1)

您可以使用TensorFlow Lite Android Support Librarylibrary旨在帮助处理TensorFlow Lite模型的输入和输出,并使TensorFlow Lite解释器更易于使用。

按如下所示使用它,并在this article中找到更多信息:

MyScreen