【问题标题】:TF-TRT vs UFF-TensorRTTF-TRT 与 UFF-TensorRT
【发布时间】:2020-05-04 05:57:10
【问题描述】:

我发现我们可以通过多种方式优化 Tensorflow 模型。如果我记错了,请告诉我。

1- 使用TF-TRT,此 API 由 tensorflow 开发,并将 TensoRT 集成到 Tensorflow,此 API 称为:

从 tensorflow.python.compiler.tensorrt 导入 trt_convert as trt

此 API 可以应用于任何 tensorflow 模型(新旧版本模型)而不会出现任何转换错误,因为如果此 API 不支持任何新层,请不要考虑将这些层用于 TensorRT 引擎,这些层将保留用于TensorFlow 引擎并在 TensorFlow 上运行。对吧?

2- 使用TensorRT,此API由NVIDA开发,独立于Tenorflow库(未集成到Tensorflow),此API称为:

将 tensorrt 导入为 trt

如果我们想使用这个api,首先我们必须使用uff-convertor将tensorflow图转换为UFF,然后将UFF图解析到这个API。 在这种情况下,如果 Tensorflow 图有不受支持的层,我们必须为这些层使用插件或自定义代码,对吧?

3- 我不知道,当我们使用 Tensorflow 模型时,为什么我们使用 UFF 转换器然后使用 TensorRT,我们可以直接使用 TF-TRT API,对吗?如果是这样,您是否从这两种方法测试了 Tensorflow 优化模型以获得相同的性能?这种 UFF 转换器方法有什么好处?

我对以上两种情况有一些疑问:

4- 我使用两种情况转换 ssd_mobilenet_v2,在情况 1 中,我的速度略有提高,但在情况 2 中,我取得了更大的进步,为什么? 我的观点是,在案例 1 中,API 只考虑转换精度(FP32 到 FP16)并将可能的层合并在一起,但在案例 2 中,图形被 UFF 清理,例如删除任何冗余节点,如 Asserts 和Identity 然后转换成 tensorrt 图吧?

5- 当我们将训练好的模型文件(如.ckpt.meta, ... 转换为冻结推理图(.pb file)时,这些层不会从图中删除?只有损失状态和优化器状态,​​...被删除?

【问题讨论】:

    标签: tensorflow nvidia tensorrt nvidia-jetson nvidia-jetson-nano


    【解决方案1】:

    在此处复制带有答案的帖子:https://github.com/NVIDIA/TensorRT/issues/341

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 2022-12-26
      • 2020-02-25
      相关资源
      最近更新 更多