首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SavedModel转换为TFLite

将SavedModel转换为TFLite
EN

Stack Overflow用户
提问于 2019-12-12 10:05:54
回答 1查看 801关注 0票数 0

我已经从here下载了一个FasterRCNN SavedModel。我想把它转换成TFLite模型。这看起来像是用tflite_convert cli做的简单的事情。

代码语言:javascript
复制
tflite_convert --output_file model.tflite --saved_model_dir faster_rcnn_resnet101_coco_2018_01_28/saved_model

但是,我收到了一些关于未指定输入维度的问题

代码语言:javascript
复制
ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor' has invalid shape '[None, None, None, 3]'

有谁知道解决这个问题的方法吗?如果不能在TFLite中使用任意大小的图像,我猜肯定有办法覆盖image_tensor尺寸。

EN

回答 1

Stack Overflow用户

发布于 2020-07-11 22:41:24

您可以使用以下代码片段来完成此操作。

代码语言:javascript
复制
saved_model_dir = 'Path_to_saved_model_dir'

# Convert the model.
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()

# Save the TF Lite model.
with tf.io.gfile.GFile('model.tflite', 'wb') as f:
  f.write(tflite_model)

注意:此函数不允许您指定输入形状,因此可以使用from_concrete_functions

代码语言:javascript
复制
model = tf.saved_model.load(saved_model_dir)
concrete_func = model.signatures[
  tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY]
concrete_func.inputs[0].set_shape([1, 256, 256, 3])
converter = TFLiteConverter.from_concrete_functions([concrete_func])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59296693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档