Save TensorFlowJS MobileNet + KNN to TFLite



我使用TensorFlowJS在MobileNet logits结果之上训练了一个KNN。

我想知道如何将MobileNet + KNN的结果导出到TFLite模型。

const knn = knnClassifier.create()
const net = await mobilenet.load()
const handleTrain = (imgEl, label) => {
const image = tf.browser.fromPixels(imgEl);
const activation = net.infer(image, true);
knn.addExample(activation, label)
}

保存模型

保存模型这个例子将文件保存到本地文件系统,或者如果您需要将它保存在其他地方,那么请查看文档。

await model.save('file:///path/to/my-model');

在这一步之后,你应该有一个JSON文件和一个二进制权重文件。

2。将TensorFlow.js图层模型转换为已保存模型格式

tfjs_model.json是您从上一步获得的model.json的路径,saved_model是您想要保存SavedModel格式的路径。
你可以在这里阅读更多关于使用TensorflowJS转换器的内容。

tensorflowjs_converter --input_format=tfjs_layers_model --output_format=keras_saved_model tfjs_model.json saved_model

3。从SavedModel格式转换为TFLite格式

从SavedModel格式转换为TFLite是按照文档推荐的方法。

import tensorflow as tf
# Convert the model
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir) # path to the SavedModel directory
tflite_model = converter.convert()
# Save the model.
with open('model.tflite', 'wb') as f:
f.write(tflite_model)

最新更新