1

我正在做强化学习,但我遇到了性能问题。

情况,没有自定义代码:

请帮忙!

提前致谢

4

1 回答 1

1

这不一定是个问题。就性能而言,使用 GPU 并不是“免费”的,而且它并不总是比 CPU 快。因为并非所有东西都在 GPU 上运行(例如,健身房环境本身仍然在 CPU 上运行),所以您确实会产生“通信成本”(例如,将内存移入和移出 GPU)。只有当您真正能够充分利用您的 GPU 时,这才是值得的。

现在,GPU 也不一定比 CPU 快。GPU 非常擅长并行执行大量类似的计算。这是必要的,例如,对于大型矩阵之间的矩阵乘法,这在训练大型深度神经网络时确实经常发生。如果您只需要相对少量的可以像这样并行完成的计算,并且大多数情况下只有顺序代码,那么 GPU 肯定会比 CPU 慢(而且您提到的 CPU 是一个相当强大的 CPU)。

现在,如果我查看您在构建神经网络的位置链接的代码部分(从第 22 行开始),那看起来像是一个相当小的神经网络;只有几层,每层有 16 个节点。这不是一个巨大的神经网络,卷积层之后是大型(例如数百个节点)全连接层(对于像 Cartpole 这样的小问题,这可能确实是多余的)。所以,你只能使用 20% 的 GPU 就不足为奇了(它根本不能并行使用更多,因为被相乘的矩阵太小了),而且它比简单地慢也不一定令人惊讶在 CPU 上运行。

于 2018-08-07T13:48:09.163 回答