无法在tensorflow r1.14中导入“ tensorflow.contrib.tensorrt”

时间:2019-04-04 19:34:58

标签: tensorflow tensorrt

我已经安装了Tensorflow r1.14,并想使用TF-TRT。但是,发生以下错误:

  

“ ModuleNotFoundError:没有名为'tensorflow.contrib.tensorrt'的模块”“

在运行示例代码时。 Tensorflow r1.13发生相同的错误。所以我的问题是我需要分别安装tensorflow.contrib.tensorrt库吗?如果是,怎么办?

此外,我可以运行TensorRT的示例代码,例如sampleINT8,成功。单击here查看成功运行的示例代码。

这使我相信TensorRT已正确安装。但是,TF-TRT仍然不起作用。

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:2)

在TF 1.14中,TF-TRT从contrib移到了核心。

您需要这样导入: from tensorflow.python.compiler.tensorrt import trt_convert as trt

https://github.com/tensorflow/tensorrt/blob/master/tftrt/examples/image-classification/image_classification.py#L22

答案 1 :(得分:0)

要能够import tensorflow.contrib.tensorrt,您需要在系统上安装tensorflow-gpu version> = 1.7 。也许您可以尝试使用以下命令安装tensorflow-gpu库:

pip install tensorflow-gpu

也请查看GPU documentation的Windows部分。另外,我会尝试使用以下命令更新您的tensorflow版本:

pip install --upgrade tensorflow

确保您也在那里保持最新。请查看TensorFlow documentation的本节以获取更多支持。

希望有帮助!

答案 2 :(得分:0)

2种可能性

  1. 您是否已安装tensorflow-gpu而不是tensorflow?
  2. 从屏幕截图中可以看出,您正在使用Windows。我有同样的问题。在TF Windows发行版的tensorrt下似乎没有contrib模块,但是linux有(我试过1.13.1)。

答案 3 :(得分:0)

  

在TF 1.14中,TF-TRT从contrib移到了核心。

     

您需要这样导入它:从tensorflow.python.compiler.tensorrt import> trt_convert为trt

     

https://github.com/tensorflow/tensorrt/blob/master/tftrt/examples/image-classification/image_classification.py#L22

这是Linux的正确答案。

但是,如果您使用Windows:目前Windows不支持TensorRT Python API(因此也支持TF-TRT),因此TensorRT python包不是TensorRT内置的。