如何将TRT优化模型转换为已保存模型?

时间:2018-09-25 03:28:22

标签: tensorflow model tensorrt

我想将TRT优化的冻结模型转换为已保存的模型以进行张量流服务。有什么建议或资料可以分享吗?

或者还有其他方法可以在Tensorflow服务中部署TRT优化模型吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

假设您有一个经过TRT优化的模型(即该模型已经用UFF表示),则只需按照此处概述的步骤操作:https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#python_topics。请特别注意第3.3节和第3.4节,因为在这些部分中,您实际上是在构建TRT引擎,然后将其保存到文件中以备后用。从那时起,您只需重新使用序列化引擎(也就是PLAN文件)进行推断即可。

基本上,工作流程如下所示:

  1. 在TensorFlow中构建/训练模型。
  2. 冻结模型(您将获得一个protobuf表示形式)。
  3. 将模型转换为UFF,以便TensorRT可以理解它。
  4. 使用UFF表示法构建TensorRT引擎。
  5. 序列化引擎并将其保存到PLAN文件中。

完成这些步骤后(您在我提供的链接中应该有足够的示例代码),您只需加载PLAN文件,并一遍又一遍地将其用于推理操作。

如果仍然遇到问题,这里默认安装了一个很好的示例:/usr/src/tensorrt/samples/python/end_to_end_tensorflow_mnist。您应该能够使用该示例来查看如何获取UFF格式。然后,您可以将其与我提供的链接中的示例代码结合起来。