今天是个好日子!
我在 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 中执行批量推理?