问题标签 [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.
tensorflow - 将keras层UpSampling2D部署到tensorRT
Kears/TensorFlow 层UpSampling2D()
无法部署到 TensorRT(已知行为)。
我试图通过用UpSampling2D()
其他具有并行行为的 Keras 层替换该层来找到解决方案。
理论上Conv2DTranspose()
应该通过设置特定的权重并在训练中固定层的权重来完成这项工作。
我正在寻找有关如何做到这一点的帮助。
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 不支持的操作。虽然我不太确定工作流程会如何。如果有人可以指出自定义图层的示例,那也将非常有帮助。
先感谢您!
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 权重的校验和。
deterministic - Jetson TX2 上的 TensorRT“浮点 16”精度模式是否不确定?
我正在使用 TensorRT FP16 精度模式来优化我的深度学习模型。我在Jetson TX2上使用了这个优化模型。在测试模型时,我观察到 TensorRT 推理引擎不是确定性的。换句话说,我的优化模型为相同的输入图像提供了 40 到 120 FPS 之间的不同 FPS 值。
当我看到关于 CUDA 的评论时,我开始认为非确定性的根源是浮点运算:
“如果您的代码使用浮点原子,结果可能因运行而异,因为浮点运算通常不是关联的,并且当使用原子时,数据进入计算的顺序(例如总和)是不确定的。 "
FP16、FP32 和 INT8 等精度类型是否会影响 TensorRT 的确定性?还是什么?
你有什么想法吗?
此致。
tensorflow - TensorRT 和 TensorFlow 2
我正在尝试使用 TensorRT 加速 yolov3 TF2 的推理。我在 tensorflow 2 中使用 TrtGraphConverter 函数。
我的代码基本上是这样的:
这会产生以下错误:
这是否意味着我的某些节点无法转换?在这种情况下,为什么我的代码在 .save 步骤中会出错?
tensorflow - 如何将新的 Tensorflow 层添加到 TensorRT 引擎?
我有 tensorflow 冻结模型,从中生成 TensorRT 引擎。
我无法重新训练模型,因为我没有所有这些必需的图像。
但是 Tensorflow 流程有一些后处理层,我喜欢添加到 TensorRT 引擎中。
最好的方法是什么?
我可以使用 TensorRT 层创建插件层吗?
这些 Tensorflow 层大多在 TensorRT 中可用,如下所示。
TensorRT 具有 resize_area 的 scale,conv 用于 Smoother。不确定 TensorRT 中的 tf.equal。
如何将这些层添加到 TensorRT?可以使用graphsurgeon 或UFF 模型吗?
c++ - 当我在嵌入式设备中运行 C++ 代码时出现分段错误
我正在使用 Tensorrt 转换 caffe 模型,当我在嵌入式设备中运行代码时,它会提示分段错误。我知道问题出在“network->destroy();”,如果我注释掉这段代码,它不会显示“segmentation fault”。
我找到了一些方法并尝试解决这个问题,但它不起作用。此问题的常见原因:printf
or语句中的格式控制字符串不正确:确保格式控制字符串与or具有scanf
相同数量的转换说明符 ( %'s
)分别具有要打印或读取的参数,并且说明符与要打印或读取的变量。这也适用于和printf
scanf
fprintf
fscanf
. 忘记在 scanf 的参数上使用“&”:函数 scanf 将格式控制字符串和变量地址作为参数,它将在其中放置读取的数据。“&”(地址)运算符用于提供变量的地址。在 scanf 调用中忘记对每个变量使用“&”是很常见的。省略“&”可能会导致分段违规。超出数组边界的访问:确保您没有违反您正在使用的任何数组的边界;即,您没有为数组下标,其值小于其最低元素的索引或大于其最高元素的索引。在访问指针之前未能初始化指针:必须为指针变量分配一个有效地址(即,出现在作业的左侧)在被访问之前(即出现在作业的右侧)。确保您已初始化所有指针以指向有效的内存区域。正确的指针初始化可以通过多种方式完成。下面列出了示例。错误使用“&”(地址)和“"(取消引用)运算符:确保您了解这些运算符的工作原理。知道何时应该应用它们以及何时不应用它们。如上所述,在scanf
调用中忘记对每个变量使用“&”是很常见的。记住,scanf
需要它正在读取的变量的地址。特别是,知道什么时候“&”和“ ”是绝对必要的,什么时候最好避免使用它们。
此代码用于 caffe 模型到tenserrt模型tenserNet.cpp
NvInfer.h
tensorflow - 使用 Tensor RT 为自定义分辨率优化 SSD Inception 模型时出错
我正在使用带有 Jetpack 4.2.1 的 Jetson AGX Xavier
我没有更改 Tensor RT、UFF 和 graphsurgeon 版本。他们就是这样。
我在自定义 600x600 图像上重新训练了 SSD Inception v2 模型。
我在 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 分辨率。
tensorflow - TensorRT GA 和 RC 有什么区别?
我只是想下载TensorRT
,但我看到有两个不同的版本GA
和RC
. 它们之间有什么区别,当我使用带有 Geforce GTX 960M 显卡的 Windows 10 机器时,我应该选择什么版本?