首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tflite进行训练后量化会导致运行时错误

使用tflite进行训练后量化会导致运行时错误
EN

Stack Overflow用户
提问于 2019-01-15 16:01:40
回答 2查看 406关注 0票数 1

我正在尝试量化我的模型(特别是从模型动物园下载的关于coco的预先训练的faster_rcnn_inception_v2 ),希望加速推理时间。

我使用here中的以下代码

代码语言:javascript
复制
import tensorflow as tf
converter = tf.lite.TocoConverter.from_saved_model(saved_model_dir)
converter.post_training_quantize = True
tflite_quantized_model = converter.convert()
open("quantized_model.tflite", "wb").write(tflite_quantized_model)

模型目录没有saved_model.pb文件。因此,我将frozen_inference_graph.pb重命名为saved_model.pb

运行上面的代码会产生以下运行时错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/juggernaut/pycharm-community-2018.2.4/helpers/pydev/pydevd.py", line 1664, in <module>
    main()
  File "/home/juggernaut/pycharm-community-2018.2.4/helpers/pydev/pydevd.py", line 1658, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/juggernaut/pycharm-community-2018.2.4/helpers/pydev/pydevd.py", line 1068, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/hdd/motorola/motorola_heads/tensorflow_face_detection/quantize.py", line 5, in <module>
    converter = tf.lite.TocoConverter.from_saved_model(saved_model_dir)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py", line 318, in new_func
    return func(*args, **kwargs)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/lite/python/lite.py", line 587, in from_saved_model
    tag_set, signature_key)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/lite/python/lite.py", line 376, in from_saved_model
    output_arrays, tag_set, signature_key)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/lite/python/convert_saved_model.py", line 254, in freeze_saved_model
    meta_graph = get_meta_graph_def(saved_model_dir, tag_set)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/lite/python/convert_saved_model.py", line 61, in get_meta_graph_def
    return loader.load(sess, tag_set, saved_model_dir)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py", line 318, in new_func
    return func(*args, **kwargs)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/python/saved_model/loader_impl.py", line 269, in load
    return loader.load(sess, tags, import_scope, **saver_kwargs)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/python/saved_model/loader_impl.py", line 420, in load
    **saver_kwargs)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/python/saved_model/loader_impl.py", line 347, in load_graph
    meta_graph_def = self.get_meta_graph_def_from_tags(tags)
  File "/hdd/motorola/venv_py27_tf1.10/local/lib/python2.7/site-packages/tensorflow/python/saved_model/loader_impl.py", line 323, in get_meta_graph_def_from_tags
    " could not be found in SavedModel. To inspect available tag-sets in"
RuntimeError: MetaGraphDef associated with tags set(['serve']) could not be found in SavedModel. To inspect available tag-sets in the SavedModel, please use the SavedModel CLI: `saved_model_cli`

这意味着什么,我应该怎么做?

EN

回答 2

Stack Overflow用户

发布于 2019-02-08 07:56:09

请参考this issue。他们似乎和你有同样的问题。

在较新版本的Tensorflow中可能会修复此问题(可能在此期间,标签已从'serving‘切换为’serving‘)。

票数 0
EN

Stack Overflow用户

发布于 2019-02-15 16:22:31

您应该使用tf.saved_model.simple_save来保存pb模型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54194763

复制
相关文章

相似问题

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