【问题标题】:Tensorflow, OpenAI Gym, Keras-rl performance issue on basic reinforcement learning exampleTensorflow、OpenAI Gym、Keras-rl 在基本强化学习示例中的性能问题
【发布时间】:2019-01-14 11:51:01
【问题描述】:

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

情况,无自定义代码:

请帮忙!

提前致谢

【问题讨论】:

    标签: python tensorflow reinforcement-learning openai-gym keras-rl


    【解决方案1】:

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

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

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

    【讨论】:

    • 就是这样!我花了两天时间,但实际上我在你发布这个的时候也发现了这一点。不过,非常感谢您快速详细的说明!
    猜你喜欢
    • 2021-03-13
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    相关资源
    最近更新 更多