如何在 Tegra X2 上使用 TensorFlow-GPU 模型进行推理?

How to do inference using TesnorFlow-GPU models on Tegra X2?

我是 Jetson tegra x2 板的新手。

我计划 运行 我的 tensorflow-gpu 模型在 TX2 板上,看看它们在那里的表现如何。这些模型在 GTX GPU 机器上进行训练和测试。

在 tx2 板上,Jetpack full 中没有 tensorflow。所以 tensorflow 需要 built/installed 我看过几个教程并尝试过。我的 python 文件 train.py 和 test.py 需要 tensorflow-gpu。

现在我怀疑,在 tx2 板上构建 tensorflow-gpu 是否是正确的方法?

哦,TX2 上有 Nvidia TensorRT,它可以完成部分工作,但是怎么做呢?是这样吗?

tensorflow和tensorRT会联手替代tensorflow-gpu吗?但是怎么办?那么我必须在训练和测试 python 文件中进行哪些修改?

我真的需要为 tx2 构建 tensorflow 吗?我只需要推断我不想在那里训练。

我研究了不同的博客并尝试了几个选项,但现在事情有点乱。

我的简单问题是:

使用在 GTX 机器上训练的 TensorFlow-GPU 深度学习模型在 Jetson TX2 板上完成推理的步骤是什么?

最简单的方法是安装NVIDIA提供的wheel:https://docs.nvidia.com/deeplearning/dgx/install-tf-jetsontx2/index.html

JetPack 已安装所有依赖项。

在使用 wheel 安装 Tensorflow 后,您可以使用它,但是在其他平台上使用 Tensorflow。对于 运行ning 推理,您可以将 Tensorflow 模型下载到 TX2 内存中,然后 运行 在其上运行您的 Tensorflow 推理脚本。

您还可以通过 TF-TRT 传递 Tensorflow 模型来优化它们:https://docs.nvidia.com/deeplearning/dgx/integrate-tf-trt/index.html 只有一个 API 调用执行优化:create_inference_graph(...) 这将优化 Tensorflow 图(主要通过融合节点),还可以让您构建精度较低的模型以获得更好的加速。

我按照本指南在 JetsonTX2 上构建了 tensorflow。它为 Python 2 和 Python3 提供了说明和轮子。

如果您是 Jetson TX2 的新手,另请参阅此“使用 TensorRT 和 NVIDIA Jetson 部署深​​度学习推理网络和深度视觉原语的指南”。 (*这不需要安装 tensorflow,因为 Jetpack 已经构建了 TensorRT)

如果您有经过 tensorflow 训练的图形,您想要在 Jetson 上进行 运行 推理,那么您需要先安装 tensorflow。之后,建议(对于推理不是强制性的)您使用 tensorRT.Check 这些使用 TensorRT 优化的对象 detection/classification 示例的存储库来优化您的训练模型。

您可以在 link 的 Nvidia 开发者论坛中找到 python 2.7 和 python 3.5 的 TX2 tensorflow-gpu wheel 文件。

https://devtalk.nvidia.com/default/topic/1031300/jetson-tx2/tensorflow-1-8-wheel-with-jetpack-3-2-/