问题标签 [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 投票
1 回答
290 浏览

tensorflow - 将keras层UpSampling2D部署到tensorRT

Kears/TensorFlow 层UpSampling2D()无法部署到 TensorRT(已知行为)。

我试图通过用UpSampling2D()其他具有并行行为的 Keras 层替换该层来找到解决方案。

理论上Conv2DTranspose()应该通过设置特定的权重并在训练中固定层的权重来完成这项工作。

我正在寻找有关如何做到这一点的帮助。

0 投票
3 回答
3440 浏览

python - 使用 TensorRT 部署语义分割网络(U-Net)(不支持上采样)

我正在尝试使用 TensorRT 部署经过训练的 U-Net。该模型是使用 Keras 训练的(使用 Tensorflow 作为后端)。代码和这个很相似:https ://github.com/zhixuhao/unet/blob/master/model.py

当我将模型转换为 UFF 格式时,使用如下代码:

我会收到以下警告:

我试图通过用上采样(双线性插值)和转置卷积替换上采样层来避免这种情况。但是转换器会给我带来类似的错误。我检查了https://docs.nvidia.com/deeplearning/sdk/tensorrt-support-matrix/index.html似乎还不支持所有这些操作。

我想知道这个问题是否有任何解决方法?TensorRT 是否有任何其他格式/框架喜欢并支持上采样?或者是否可以用其他一些支持的操作来替换它?

我还在某处看到可以添加自定义操作来替换 TensorRT 不支持的操作。虽然我不太确定工作流程会如何。如果有人可以指出自定义图层的示例,那也将非常有帮助。

先感谢您!

0 投票
0 回答
135 浏览

yolo - ValueError: 本地文件 yolov3.weights 的 MD5 校验和不同于 c84e5b99d0e52cd466ae710cadf6d84c

我遇到了一个问题,我试图用 tensorrt 对我定制的 YOLO 模型(yolov3.weight)进行预测。我在下面的步骤中被打动了(将 yolo 转换为 onnx)。我有自己的 yolov3.weights。

为了将 yolo 转换为 onxx,我使用了 /usr/src/tensorrt/samples/python/ 中的 python 文件 (yolov3_to_onnx.py)。在这个文件中,我正在加载我定制的训练有素的 yolov3.weight。

运行文件时

我收到以下错误

我在这里很震惊,不知道如何找到本地文件yolov3.weights的MD5校验和。我相信 yolov3_to_onnx.py 正在使用预训练的 yolov3.weight 的 MD5 校验和。

我在互联网上搜索了 MD5 校验和,但不知道如何为我的自定义 yolov3.weight 找到这样的校验和。我也开始知道这对于检查真实性非常重要。

请查看我感到震惊的文件yolov3_to_onnx.py 。如需更多帮助,我将添加此文件中的代码片段,这是此问题的真实案例。

我希望,如果 c84e5b99d0e52cd466ae710cadf6d84c 校验和被我体重的 md5 校验和替换,那么问题将得到解决,但我不知道如何找到我自定义的 yolov3 权重的校验和。

0 投票
1 回答
404 浏览

deterministic - Jetson TX2 上的 TensorRT“浮点 16”精度模式是否不确定?

我正在使用 TensorRT FP16 精度模式来优化我的深度学习模型。我在Jetson TX2上使用了这个优化模型。在测试模型时,我观察到 TensorRT 推理引擎不是确定性的。换句话说,我的优化模型为相同的输入图像提供了 40 到 120 FPS 之间的不同 FPS 值。

当我看到关于 CUDA 的评论,我开始认为非确定性的根源是浮点运算:

“如果您的代码使用浮点原子,结果可能因运行而异,因为浮点运算通常不是关联的,并且当使用原子时,数据进入计算的顺序(例如总和)是不确定的。 "

FP16、FP32 和 INT8 等精度类型是否会影响 TensorRT 的确定性?还是什么?

你有什么想法吗?

此致。

0 投票
4 回答
4373 浏览

tensorflow - TensorRT 和 TensorFlow 2

我正在尝试使用 TensorRT 加速 yolov3 TF2 的推理。我在 tensorflow 2 中使用 TrtGraphConverter 函数。

我的代码基本上是这样的:

这会产生以下错误:

这是否意味着我的某些节点无法转换?在这种情况下,为什么我的代码在 .save 步骤中会出错?

0 投票
1 回答
622 浏览

python - 向 TensorFlow freeze_graph 添加新层?

这些讨论(1、2 谈到了向 Tensorflow 图添加新层并重新训练模型。

以下代码显示将新层添加到恢复的可训练模型。

但我喜欢在恢复的冻结图中添加层。

我只为一个应用程序冻结了模型。我喜欢在模型中添加层并再次冻结。这些层更多地用于后处理,不需要训练,所以不在训练的模型中。

我将冻结图转换为 TensorRT 的原因是我喜欢将这些层包含到 Int8 引擎中。

0 投票
1 回答
796 浏览

tensorflow - 如何将新的 Tensorflow 层添加到 TensorRT 引擎?

我有 tensorflow 冻结模型,从中生成 TensorRT 引擎。

我无法重新训练模型,因为我没有所有这些必需的图像。

但是 Tensorflow 流程有一些后处理层,我喜欢添加到 TensorRT 引擎中。

最好的方法是什么?

我可以使用 TensorRT 层创建插件层吗?

这些 Tensorflow 层大多在 TensorRT 中可用,如下所示。

TensorRT 具有 resize_area 的 scale,conv 用于 Smoother。不确定 TensorRT 中的 tf.equal。

如何将这些层添加到 TensorRT?可以使用graphsurgeon 或UFF 模型吗?

0 投票
0 回答
319 浏览

c++ - 当我在嵌入式设备中运行 C++ 代码时出现分段错误

我正在使用 Tensorrt 转换 caffe 模型,当我在嵌入式设备中运行代码时,它会提示分段错误。我知道问题出在“network->destroy();”,如果我注释掉这段代码,它不会显示“segmentation fault”。

我找到了一些方法并尝试解决这个问题,但它不起作用。此问题的常见原因:printfor语句中的格式控制字符串不正确:确保格式控制字符串与or具有scanf相同数量的转换说明符 ( %'s)分别具有要打印或读取的参数,并且说明符与要打印或读取的变量。这也适用于和printfscanffprintffscanf. 忘记在 scanf 的参数上使用“&”:函数 scanf 将格式控制字符串和变量地址作为参数,它将在其中放置读取的数据。“&”(地址)运算符用于提供变量的地址。在 scanf 调用中忘记对每个变量使用“&”是很常见的。省略“&”可能会导致分段违规。超出数组边界的访问:确保您没有违反您正在使​​用的任何数组的边界;即,您没有为数组下标,其值小于其最低元素的索引或大于其最高元素的索引。在访问指针之前未能初始化指针:必须为指针变量分配一个有效地址(即,出现在作业的左侧)在被访问之前(即出现在作业的右侧)。确保您已初始化所有指针以指向有效的内存区域。正确的指针初始化可以通过多种方式完成。下面列出了示例。错误使用“&”(地址)和“"(取消引​​用)运算符:确保您了解这些运算符的工作原理。知道何时应该应用它们以及何时不应用它们。如上所述,在scanf调用中忘记对每个变量使用“&”是很常见的。记住,scanf需要它正在读取的变量的地址。特别是,知道什么时候“&”和“ ”是绝对必要的,什么时候最好避免使用它们。

此代码用于 caffe 模型到tenserrt模型tenserNet.cpp

NvInfer.h

0 投票
0 回答
481 浏览

tensorflow - 使用 Tensor RT 为自定义分辨率优化 SSD Inception 模型时出错

我正在使用带有 Jetpack 4.2.1 的 Jetson AGX Xavier

我没有更改 Tensor RT、UFF 和 graphsurgeon 版本。他们就是这样。

我在自定义 600x600 图像上重新训练了 SSD Inception v2 模型。

从这里获取预训练模型。https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

我在 pipeline.config 中将高度和宽度更改为 600x600。

我正在使用包含 Tensor RT 样本的 sampleUffSSD 样本。

在 config.py 中,我将 300 替换为 600 的形状。

我通过命令生成了frozen_graph.uff:python3 convert_to_uff.py freeze_inference_graph.pb -O NMS -p config.py

在文件 BatchStreamPPM.h 中:

我变了

在文件 sampleUffSSD.cpp

我变了

cd sampleUffSSD

使清洁;制作

我跑了 sample_uff_ssd 我遇到了以下错误:

&&&& RUNNING TensorRT.sample_uff_ssd # ./../../bin/sample_uff_ssd [I] ../../data/ssd/sample_ssd_relu6.uff [I] 开始解析模型... [I] 结束解析模型.. . [I] 开始构建引擎... sample_uff_ssd: nmsPlugin.cpp:139: virtual void nvinfer1::plugin::DetectionOutput::configureWithFormat(const nvinfer1::Dims*, int, const nvinfer1::Dims*, int, nvinfer1 ::DataType, nvinfer1::PluginFormat, int): 断言 `numPriors * numLocClasses * 4 == inputDims[param.inputOrder[0]].d[0]' 失败。中止(核心转储)

我认为问题在于分辨率。

如何优化自定义分辨率的模型?

它适用于 300x300 分辨率。

0 投票
1 回答
2256 浏览

tensorflow - TensorRT GA 和 RC 有什么区别?

我只是想下载TensorRT,但我看到有两个不同的版本GARC. 它们之间有什么区别,当我使用带有 Geforce GTX 960M 显卡的 Windows 10 机器时,我应该选择什么版本?