如何在flutter中使用训练好的张量流模型?

Kar*_*kar 5 python flutter tensorflow tensorflow2.0 flutter-web

我训练了一个张量流模型来预测输入文本的下一个单词。我将其保存为.h5文件。

我可以在另一个 python 代码中使用该模型来预测单词,如下所示:

import numpy as np
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from keras.models import load_model

model = load_model('model.h5')
model.compile(
    loss = "categorical_crossentropy",
    optimizer = "adam",
    metrics = ["accuracy"]
)

data = open("dataset.txt").read()
corpus = data.lower().split("\n")
tokenizer = Tokenizer()
tokenizer.fit_on_texts(corpus)

seed_text = input()

sequence_text = tokenizer.texts_to_sequences([seed_text])[0]
padded_sequence = np.array(pad_sequences([sequence_text], maxlen = 11 -1))
predicted = np.argmax(model.predict(padded_sequence))
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以让我直接在 flutter 中使用该模型,我可以从 TextField() 获取输入并按下按钮,显示预测的单词?

小智 2

您不能直接在 Flutter 中使用.h5文件。您需要将其转换为.tflite文件并使用它,或者创建REST API。

将其转换为.tflite文件是最简单的。您可以查看以下文章了解更多详细信息: https://medium.com/analytics-vidhya/run-cnn-model-in-flutter-10c944cadcba

如果您想创建REST API,请查看这篇文章: https://medium.com/analytics-vidhya/deploy-ml-models-using-flask-as-rest-api-and-access-via-flutter-app -7ce63d5c1f3b