今天是个好日子!
我在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/