Пакетный вывод C ++ TensorRT дает странные результаты - PullRequest
0 голосов
/ 14 ноября 2018

Добрый день всем!

У меня проблема с выполнением пакетного вывода в TensorRT. Когда размер пакета равен 1, он работает как брелок, но когда я изменяю его на любое другое число, он выдает обычный мусор.

Шаг за шагом я скачал TensorRT (5.0) и установил его на свой ноутбук Ubuntu 18.04 с GTX755M. Затем я собрал сэмплы, которые пошли вместе с ним, и протестировал его на сэмпле sampleMNIST, и это сработало как шарм. Затем я приступил к изменению каждого вхождения mParams.batchSize на 10. Конечно, я также изменил размер выделенной памяти и изменил печать результатов вместе. Но после того, как я перекомпилировал образец, я получил совершенно странные результаты - результат показывает 80% 7 20% 1 для каждого заданного ввода:

grim@shigoto:~/tensorrt/bin$ ./sample_mnist
Building and running a GPU inference engine for MNIST

Input:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@.*@@@@@@@@@@
@@@@@@@@@@@@@@@@.=@@@@@@@@@@
@@@@@@@@@@@@+@@@.=@@@@@@@@@@
@@@@@@@@@@@% #@@.=@@@@@@@@@@
@@@@@@@@@@@% #@@.=@@@@@@@@@@
@@@@@@@@@@@+ *@@:-@@@@@@@@@@
@@@@@@@@@@@= *@@= @@@@@@@@@@
@@@@@@@@@@@. #@@= @@@@@@@@@@
@@@@@@@@@@=  =++.-@@@@@@@@@@
@@@@@@@@@@       =@@@@@@@@@@
@@@@@@@@@@  :*## =@@@@@@@@@@
@@@@@@@@@@:*@@@% =@@@@@@@@@@
@@@@@@@@@@@@@@@% =@@@@@@@@@@
@@@@@@@@@@@@@@@# =@@@@@@@@@@
@@@@@@@@@@@@@@@# =@@@@@@@@@@
@@@@@@@@@@@@@@@* *@@@@@@@@@@
@@@@@@@@@@@@@@@= #@@@@@@@@@@
@@@@@@@@@@@@@@@= #@@@@@@@@@@
@@@@@@@@@@@@@@@=.@@@@@@@@@@@
@@@@@@@@@@@@@@@++@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Output:

0: 
1: ********
2: 
3: 
4: 
5: 
6: 
7: **
8: 
9: 

Этот вывод повторяется 10 раз. Я пробовал это с разными сетями, но результаты были похожи, большинство сетей выдает 1 правильный вывод, а остальные - 9 раз. Полный образец можно найти здесь . Я попробовал поискать документацию, но не могу понять, что я делаю неправильно. Не могли бы вы сказать мне, что я делаю неправильно или как выполнить пакетный вывод в TensorRT?

1 Ответ

0 голосов
/ 21 ноября 2018

Вы также изменили mnist.prototxt?

Особенно эту часть:

input: "data"
input_shape {
  dim: 1
  dim: 1
  dim: 28
  dim: 28
}

Я думаю, что должно быть:

input: "data"
input_shape {
  dim: 10
  dim: 1
  dim: 28
  dim: 28
}
...