【问题标题】:Converting Tensorflow Frozen Graph to UFF for TensorRT inference将 Tensorflow Frozen Graph 转换为 UFF 以进行 TensorRT 推理
【发布时间】:2019-12-15 16:05:43
【问题描述】:

我想使用带有 TensorRT (C++) 的 tensorflow 模型,首先需要将 .pb 转换为 .uff 格式。执行此代码时:

uff_model = uff.from_tensorflow_frozen_model(
  frozen_file="my_tf_model.pb",
  output_nodes=["output_layer"],
  output_filename="tmp.uff",
  debug_mode=True,
)

我收到此错误消息:

Traceback (most recent call last):
  File "/home/jodo/ILONA/object-detection/ssd/src/uff_converter/uff_converter.py", line 29, in <module>
    text=False,
  File "/home/jodo/miniconda3/envs/uff_converter/lib/python3.7/site-packages/uff/converters/tensorflow/conversion_helpers.py", line 228, in from_tensorflow_frozen_model
    graphdef.ParseFromString(frozen_pb.read())
google.protobuf.message.DecodeError: Error parsing message

导出的图 (my_tf_model.pb) 使用 tensorflow 2.0.0 进行训练和保存。但对于 uff 转换器,我必须使用 tensorflow 1.15.0。这可能是一个问题还是 .pb 文件应该向下兼容?

更新:使用与 uff 转换器 (1.15.0) 相同版本训练的模型进行测试,但仍然存在相同的错误。

【问题讨论】:

    标签: python tensorflow tensorrt uff


    【解决方案1】:

    回答我自己的问题: 我的 .pb 文件不是冻结图,而是 SavedModel 格式的一部分

    要解决这个问题 1) 将其转换为冻结图并使用冻结图:

    python -m tensorflow.python.tools.freeze_graph --input_saved_model_dir SAVED_MODEL_DIR
    

    那么uff.from_tensorflow_frozen_model() 应该可以工作了。

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多