【发布时间】:2019-08-29 08:26:08
【问题描述】:
需要 upsample 节点的插件来转换为 TensorRT。
对于 Tensorflow 实现,假设输入大小为 1x3x4x19 形状并上采样为 1x12x14x19 张量。
在TensorRT插件中实现了同样的东西,考虑的流程如下。
tensorflow中的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.]
【问题讨论】:
标签: tensorflow tensorrt