数据输入格式到插件

时间:2019-08-29 08:26:08

标签: tensorflow tensorrt

我有张量流模型,如图所示。并尝试转换为TensorRT。 enter image description here

转换为TensorRT时需要upsample节点的插件。

对于Tensorflow实施,假设输入大小为1x3x4x19形状并上采样为1x12x14x19张量。

在TensorRT插件中实现了相同的功能,考虑的流程如下。

张量流中的

1x3x4x19张量是

[[[...19channel data ...],[...19channel data ...],[...19channel data ...],[...19channel data ...]],

 [[...19channel data ...],[...19channel data ...],[...19channel data ...],[...19channel data ...]],

 [[...19channel data ...],[...19channel data ...],[...19channel data ...],[...19channel data ...]]]

先扁平化为

[...19channel data ..., ...19channel data ..., ...19channel data ..., etc.,...19channel data ...]

展平的数据长度是228。

很难看到19个通道的数据。

因此,将3通道数据再次用作平坦数据的示例。

[[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],
 [[1,2,3],[4,5,6],[7,8,9],[10,11,12]],
 [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]]

用于3通道数据的扁平数组是

[1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12]

该拼合的数据输入到插件中进行升采样。 我在插件中的CUDA代码期望平展的数据,如上所示。

但是插件输出很奇怪,与Tensorflow的上采样输出不同。 我使用Openpose1(如图所示)数据检查了Tensorflow的上采样操作。

在TensorRT引擎中插入的数据格式是否正确? 如果没有,如何将输入数据馈送到插件?

插件输出看起来像输入是垂直展平的

[1,1,1,2,2,2,3,3,3...etc.]

1 个答案:

答案 0 :(得分:0)

经过一段时间后,问题得以解决。 插件输入为NCHW格式。 就像1,4,7,10,1,4,7,10,1,4,7,10,2,5,8,11,2,5,8,11,2,5,8,11 ,3,6,9,12,3,6,9,12,3,6,9,12。

因此,如果与Tensorflow的NHWC格式匹配,则需要处理该数据并重新格式化为NHWC格式。