Формат ввода данных в плагин

У меня есть модель тензорного потока, как показано на картинке. И пытаюсь конвертировать в TensorRT. введите здесь описание изображения

Нужен плагин для upsample узла при преобразовании в TensorRT.

Для реализации 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.]

person batuman    schedule 29.08.2019    source источник


Ответы (1)


Через некоторое время проблема решена. Входные данные плагина имеют формат 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.

Поэтому необходимо поработать с этими данными и переформатировать обратно в формат NHWC, если они соответствуют формату NHWC Tensorflow.

person batuman    schedule 04.09.2019