如何从save_model创建tflite文件(SSD MobileNet)

克里斯·克

我想基于经过重新训练的ssd_mobilenet模型(类似于youtube上的那个家伙)创建一个对象检测应用

ssd_mobilenet_v2_cocoTensorflow Model Zoo中选择了模型在重新训练过程之后,我得到了具有以下结构的模型:

- saved_model
    - variables (empty folder)
    - saved_model.pb
- checkpoint
- frozen_inverence_graph.pb
- model.ckpt.data-00000-of-00001
- model.ckpt.index
- model.ckpt.meta
- pipeline.config

在同一文件夹中,我具有带有以下代码的python脚本:

import tensorflow as tf

converter = tf.lite.TFLiteConverter.from_saved_model("saved_model")
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

运行此代码后,出现以下错误:

ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor' has invalid shape '[None, None, None, 3]'.

似乎模型中缺少图像宽度和高度。当我使用youtube视频中的模型时,它正在工作。

经过大量的研究和尝试,我尝试了其他方法,例如运行bazel / toco,但是没有任何帮助我创建tflite文件。

克鲁克斯

文档中所述,您可以在中传递不同的参数tf.lite.TFLiteConverter.from_saved_model

对于更复杂的SavedModels,可以传入的可选参数TFLiteConverter.from_saved_model()input_arrays, input_shapes, output_arrays, tag_set and signature_key可通过运行获得每个参数的详细信息help(tf.lite.TFLiteConverter)

您可以按照此处所述传递此信息您需要提供输入张量名称及其形状,还需要输出张量名称及其形状。对于ssd_mobilenet_v2_coco,您需要定义使用网络的输入形状,如下所示:

tf.lite.TFLiteConverter.from_saved_model("saved_model", input_shapes={"image_tensor" : [1,300,300,3]})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Mobilenet SSD输入形状

将TensorFlowJS MobileNet + KNN保存到TFLite

ssd_mobilenet_v1_coco SSD是如何用mobilenet实现的

断言OpenCV Mobilenet SSD转发功能失败

如何读取Mobilenet预先训练的型号名称?

ssd mobilenet v1:更改功能图布局

使用 tensorflow 更改 mobilenet_ssd 的输入图像大小

model_main.py 无法训练 mobilenet ssd v2 - tensorflow 对象检测 api

ssd_mobilenet_v2_fpnlite_320x320 的 .pbtxt 文件

如何在Android应用中使用ssd_mobilenet_v2_mnasfpn_coco

如何在ssd_mobilenet_v1张量流中增加num_classes

Android:mobilenet_v1_1.0_224.tflite模型未返回边界框信息

使用8位量化将Keras MobileNet模型转换为TFLite

已保存模型的Tensorflow服务ssd_mobilenet_v1_coco

使用带有 OpenCV DNN 模块的自定义 SSD Mobilenet 模型没有检测到

重新训练MobileNet SSD V1 COCO后,Tensorflow的pb和pbtxt文件无法与OpenCV一起使用

使用tensorflow时,在哪里可以找到ssd_mobilenet_v1_coco的标签映射文件(pbtxt)?

如何查看 MobileNet 中卷积层的输入和输出的确切值

如何训练 mobilenet-v1 量化模型以在 TF Lite 上使用

发布MobileNet权重问题

导出推理图后,ssd_mobilenet_v2_coco无法检测到自定义训练对象

如何为自定义类构建tensorflow对象检测模型,以及如何包括SSD Mobilenet模型包含的90个类

mobilenet 的训练数据大小 (ImageNet)

将MobileNet从Keras转换为CoreML

加载的MobileNet模型给出错误的预测

使用Tensorflow(MobileNet)进行转移学习

使用TF 2.0将save_model转换为TFLite模型

微调预训练模型 MobileNet_V3_Large PyTorch

Unity 对象检测:Barracuda、MobileNET 和网络摄像头