无法在 tensorflow r1.14 中导入“tensorflow.contrib.tensorrt”
Posted
技术标签:
【中文标题】无法在 tensorflow r1.14 中导入“tensorflow.contrib.tensorrt”【英文标题】:Failed to import 'tensorflow.contrib.tensorrt' in tensorflow r1.14 【发布时间】:2019-04-04 19:34:57 【问题描述】:我已经安装了Tensorflow r1.14
并想使用TF-TRT
。但是,出现以下错误:
“ModuleNotFoundError: 没有名为‘tensorflow.contrib.tensorrt’的模块”
运行示例代码时。 Tensorflow r1.13
也会出现同样的错误。所以我的问题是我需要单独安装tensorflow.contrib.tensorrt
库吗?如果是,怎么做?
另外,我可以运行TensorRT
的示例代码,例如sampleINT8
,成功。点击here查看我成功运行的示例代码。
这让我相信TensorRT
已正确安装。但是,TF-TRT
仍然不起作用。
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:在 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
这是 Linux 的正确答案。
但是,如果您使用的是 Windows:目前 Windows 不支持 TensorRT Python API(以及因此 TF-TRT),因此 TensorFlow python 包不是使用 TensorRT 构建的。
【讨论】:
【参考方案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
【讨论】:
【参考方案3】:为了能够import tensorflow.contrib.tensorrt
,您需要在系统上安装tensorflow-gpu
版本>= 1.7。也许您可以尝试使用以下命令安装 tensorflow-gpu
库:
pip install tensorflow-gpu
也请查看GPU documentation 的 Windows 部分。另外,我会尝试更新您的tensorflow
版本:
pip install --upgrade tensorflow
以确保您也是最新的。查看TensorFlow documentation 的这一部分以获得更多支持。
希望对您有所帮助!
【讨论】:
tf.__version__ 是 1.13.1,即 >=1.7。我还检查了文件夹 'tensorflow\contrib' 并且没有名为 tensorrt 的子文件夹。我不认为 pip 安装提供了 tensorrt。我现在还能做什么? 也许您可以尝试直接从 nvidia 下载 tensorrt 驱动程序:docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/…【参考方案4】:2 种可能性
-
您是否安装了 tensorflow-gpu 而不是 tensorflow?
从您的屏幕截图看来,您使用的是 Windows。我有同样的问题。在 TF windows 发行版中,
contrib
下似乎没有 tensorrt
模块,但是 linux 有它(我试过 1.13.1)。
【讨论】:
以上是关于无法在 tensorflow r1.14 中导入“tensorflow.contrib.tensorrt”的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Swift Playground 中导入 tensorflow
无法在 Jupyter Notebook 中导入 TensorFlow
在 python 3.4 中导入 tensorflow 时出错“无法加载本机 TensorFlow 运行时”