如何在Tensorflow移动Android应用程序上使用预训练的模型?

时间:2019-04-25 12:01:36

标签: java android tensorflow machine-learning yolo

我正在尝试根据tutorial使用Android上的张量流移动演示应用程序进行图像检测和分类。我认为该应用正在使用初始模型,并且我想使用此link中的另一个经过预先训练的模型“ ssd_mobilenetv2_oidv4”。我在机器学习方面没有太多经验,但是我想做的是用mobilenetv2模型替换应用程序中使用的模型,因为该模型在更多的课堂上得到了培训。

我试图将经过预先训练的模型中的文件复制到应用程序中的assets文件夹中,并调整应用程序中的路径,但是问题是两种模型的格式不同(我认为),因此应用程序在崩溃之前就崩溃了它甚至开始。

资产文件夹中的文件(初始模型):  imagenet_comp_graph_label_strings.txt multibox_location_priors.txt tensorflow_inception_graph.pb tiny-yolo.pb

MObilenetV2我要使用的模型中的文件: checkpoint frozen_inference_graph.pb model.ckpt.data-00000-of-00001 model.ckpt.index model.ckpt.meta pipeline.config and folder "saved_model" containing: a- saved_model.pb b- an empty folder named "variables"

那么如何将我要使用的模型转换为与资产文件夹中的模型相同的格式(初始模型)

2 个答案:

答案 0 :(得分:0)

请注意,当您还原检查点文件时,不必事先初始化它们。

tf.train.Saver也可以还原(tf.train.Saver.restore):

https://www.tensorflow.org/api_docs/python/tf/train/Saver#restore

答案 1 :(得分:0)

这里的问题是您尝试使用不同的模型格式。为了能够使用model zoo detection repo中的模型 您应遵循此link中的TensorFlow Lite示例 同样不要忘记,如果您不使用tflite模型,则应将模型转换为tflite。例如,您可以使用此tutorial