问题标签 [tensorrt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
924 浏览

python - TensorRT 5.1 没有属性 create_inference_graph

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

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

有谁知道该功能是否在 TensorRT 5.1 版中被其他功能替换?如何运行它?

0 投票
1 回答
752 浏览

tensorflow - 关于内核权重的 TensorRT 5 UFFParser 错误

我正在尝试使用 Tensorflow 模型进行转换然后运行推理。

我用 tf.keras 生成了一个 Tensorflow 模型:

我训练模型然后我转换文件保存一个.pb tensorflow冻结图形文件,转换为UFF:

当我解析模型时:

我收到了这个错误:

为什么关于内核权重的错误计数?我将输入形状设置为正确的大小(224,244,3...),这是我的模型:


谢谢,

伊戈尔

0 投票
2 回答
1269 浏览

deep-learning - AttributeError:模块“common”没有属性“allocate_buffers”

错误: AttributeError: module 'common' has no attribute 'allocate_buffers'

什么时候发生:我有一个yolov3.onnx模型,我正在尝试使用 TensorRT 以便使用 trt 引擎对模型进行推理。在使用(也尝试过)安装common模块后,我收到一个错误:在这一行:pip install commonpip3 install commoninputs, outputs, bindings, stream = common.allocate_buffers(engine)

编辑:我刚刚意识到我可能只需要使用allocate_buffers另一个 onnx 中的另一个到 trt 项目。它发现于/usr/src/tensorrt/samples/python/introductory_parser_samples

EDIT2:发布了一个解决方案。

完整代码:

0 投票
1 回答
309 浏览

mxnet - 使用 _contrib_MultiBoxPrior 错误将 MXNet 模型导出到 ONNX

我在 AWS SageMaker 中创建了一个基于 SSD/ResNet50 和 MXNet 的对象检测模型。现在我想在 TensorRT 中对其进行优化,为此我需要先导出到 ONNX。

寻找有关将 _contrib_MultiBoxPrior 转换为受支持符号的任何建议对我来说没有任何结果。

基本代码

确切的错误信息是

“AttributeError:尚未为操作类型 _contrib_MultiBoxPrior 注册转换函数。”

解决此错误的推荐方法是什么?

0 投票
0 回答
661 浏览

c++ - 如何在 C++ 中对具有非固定输入形状的 FP16 TensorFlow 模型进行推理?

该模型是用 Python 训练的。我研究过不同的方法,但在这里或那里碰壁。我总结如下,如果我错了,请纠正我

这 ”?” 表中表示与tensorflow/core/kernelsEigen::half下的相互作用(例如,在conv_2d_gpu_half.cu.cc内部)以使用 TensorFlow C++ 实现 FP 16 算法。我没有看到很多关于此的文档,但这是唯一的方法吗?

(我可以将我的模型转换为 MXNet 等其他框架,但似乎存在类似的限制:只需更改 TensorFlow C++ API→<a href="https://github.com/apache/incubator-mxnet/tree/master/cpp- package" rel="nofollow noreferrer">MXNet C++ 包、TensorRT→<a href="https://github.com/dmlc/tvm/issues/3042" rel="nofollow noreferrer">TVM、TF-TRT→ <a href="https://mxnet.incubator.apache.org/versions/master/tutorials/tensorrt/inference_with_trt.html" rel="nofollow noreferrer">MXNet-TensorRT 在表中)

0 投票
1 回答
641 浏览

tensorflow - 将先前对现有模型动态的占位符尺寸变为静态

我训练了一个用于对象检测的张量流模型,输入作为占位符,尺寸为 [1,None,None,3],因为我的训练图像有各种大小。然后我将冻结图(.pb 文件)转换为 tensorRT 图以加快推理速度,但 tensorRT 警告我输入张量具有未知的非批量维度,因此节点将回退到 TF。错误信息是:

我知道我可以在 trt.create_inference_graph 中将 is_dynamic_op 设置为 True,但这会增加运行时间。我想使用这个模型来推断视频,其中所有帧都具有相同的高度和宽度。有没有办法将输入占位符尺寸固定为静态值,而无需重新训练模型?我的输入张量可以通过 get_tensor_by_name 访问

0 投票
1 回答
154 浏览

tensorflow - 如何设置本地模型存储库 - 带有 Minio 的 Tensorrt 推理服务器

嗨,我想设置 Kubeflow - NVIDIA TensorRT 推理服务器,存储库位于 MinIO 中。

我不知道如何更改gs://inference-server-model-store/tf_model_store来连接 Minio。

0 投票
1 回答
3138 浏览

python - 如何在多个线程中运行 TensorRT?

我是 TensorRT 和 CUDA 的新手,我正在尝试使用 TensorRT Python API 实现推理服务器。我遵循end_to_end_tensorflow_mnistuff_ssd示例,一切正常。但是,当我尝试使用引擎在多个线程中进行推理时,我遇到了一些问题。所以我想知道在多线程中运行 TensorRT 的正确方法是什么。

这是我尝试过的。首先,我在主线程中创建推理引擎。在工作线程中,我使用在主线程中创建的引擎分配内存空间、CUDA Stream 和执行上下文并进行推断:

上面的代码产生以下错误:

这听起来好像工作线程中没有活动的 CUDA 上下文。因此,我尝试在工作线程中手动创建 CUDA 上下文:

这一次,它给了我另一个错误:

我了解构建器或运行时将使用与创建线程关联的 GPU 上下文创建。我猜这个错误是因为引擎与主线程相关联,但我在工作线程中使用它,所以我的问题是:

  1. 这是否意味着我必须在工作线程中重建引擎,这会显着增加推理过热?
  2. 我可以在主线程和工作线程之间共享 GPU 上下文,这样我就不必为每个新请求创建新的 GPU 上下文了吗?如果是这样,如何在pycuda中做到这一点?

任何建议将被认真考虑。谢谢!

0 投票
1 回答
369 浏览

tensorflow - 转换后的 Tensorrt 模型与 Tensorflow 模型的输出形状不同?

我有一个 tensorflow 模型并转换为 tensorrt 模型。TensorFlow 模型的 uff 转换如下图所示。输入是图像,输出是 Openpose/concat_stage7

Tensorflow 模型输出形状为

当我运行 tensorrt 时,输出维度是(217500,)?如何与 Tensorflow 模型具有相同的维度?

0 投票
3 回答
2333 浏览

tensorflow - Tensorrt 速度没有提升

我有 Openpose 的Tensorflow 图

使用 convert-to-uff 命令将图形转换为 uff 格式。

输出是

我怎么知道转换是正确的并且所有节点都被转换了?

问题是运行Tensorrt引擎的速度没有提高/

我使用了 Tensorrt 5.1.5 GA。