我发现我们可以通过多种方式优化 Tensorflow 模型。如果我弄错了,请告诉我。
1- 使用TF-TRT,这个 API 开发者由 tensorflow 和 integreted TensoRT 到 Tensorflow,这个 API 被称为:
从 tensorflow.python.compiler.tensorrt 导入 trt_convert 作为 trt
这个 API 可以应用于任何 tensorflow 模型(新旧版本模型),没有任何转换错误,因为如果这个 API 不支持任何新层,那么 TensorRT 引擎不要考虑这些层,而这些层保留给 Tensorflow 引擎和在 Tensorflow 上运行。对?
2- 使用TensorRT,此 API 由 NVIDA 开发,独立于 Tenorflow 库(未集成到 Tensorflow),此 API 称为:
将张量导入为 trt
如果我们要使用这个api,首先我们必须使用uff-convertor将tensorflow graph转换为UFF,然后将UFF graph解析为这个API。在这种情况下,如果 Tensorflow 图有不受支持的层,我们必须为这些层使用插件或自定义代码,对吗?
3- 我不知道,当我们使用 Tensorflow 模型时,为什么我们使用 UFF 转换器然后使用 TensorRT,我们可以直接使用 TF-TRT API,对吗?如果是这样,您是否通过这两种方法测试了 Tensorflow 优化模型以获得相同的性能?这种 UFF 转换器方法的优点是什么?
我对上述两种情况有一些疑问:
4- 我使用两种情况转换 ssd_mobilenet_v2,在情况 1 中,我的速度略有提高,但在情况 2 中,我取得了更大的进步,为什么?我的观点是,在情况 1 中,API 只考虑转换精度(FP32 …