TensorRT 5.1 没有属性 create_inference_graph

TensorRT 5.1 has no attribute create_inference_graph

我想优化我的神经网络(来自 Google 的 Resnet101)以使用 TensorRT(版本 5.1)进行推理。我一直在寻找如何做的博客和教程,并找到了一些东西,比如 here 和其他一些东西。他们都有一个共同点:

trt_graph = trt.create_inference_graph(
                getNetwork(network_file_name), 
                outputs,
                max_batch_size=batch_size,
                max_workspace_size_bytes=workspace_size, 
                precision_mode=”INT8")

但问题是我的TensorRT版本没有这个功能。我得到如下输出。

Python 3.6.6 |Anaconda custom (64-bit)
>>> import tensorrt as trt
>>> trt.__version__
5.1.2.2
>>> trt.create_inference_graph()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'tensorrt' has no attribute 'create_inference_graph'

有谁知道这个函数在TensorRT 5.1版本中是否被其他函数取代了?如何运行呢?

一些tensorflow的安装默认已经有tensorrt。尝试;

import tensorflow.contrib.tensorrt as trt

正如@Uziel 建议的那样,Tensorrt 应该与以下一起使用:

import tensorflow.contrib.tensorrt as trt

不幸的是,在我的情况下,导入导致了以下错误:

tensorflow.python.framework.errors_impl.NotFoundError: libnvinfer.so.4: cannot open shared object file: No such file or directory

我的 TensorRT 安装有问题。重新安装后一切正常。

这也是您可以导入 tensorrt 的另一个位置

from tensorflow.python.compiler.tensorrt import trt_convert as trt