今天是个好日子!

我在TensorRT中执行批量推断时遇到问题。当批处理大小为1时,它就像一个符咒,但是当我将其更改为任何其他数字时,它会发出普通垃圾。

我逐步下载了TensorRT(5.0),并将其安装在具有GTX755M的Ubuntu 18.04笔记本电脑上。然后,我构建了附带的样本,并在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次。完整的示例可以在here中找到。我已经尝试使用谷歌搜索文档,但是我不明白自己在做什么错。您能否告诉我我在做什么错或者如何在TensorRT中执行批量推断?

最佳答案

您还修改了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
}

关于c++ - C++ TensorRT批处理推论得出奇怪的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53297707/

10-12 18:47