【发布时间】:2019-02-28 01:32:18
【问题描述】:
我使用this notebook from Kaggle 运行 LSTM 神经网络。
我已经开始训练神经网络,我发现它太慢了。它几乎比 CPU 训练慢三倍。
-
CPU perfomance:每个 epoch 8 分钟; -
GPU perfomance:每个 epoch 26 分钟。
在此之后,我决定在 this question on Stackoverflow 中找到答案,并应用了 CuDNNLSTM (仅在 GPU 上运行) 而不是 LSTM。
因此,GPU 性能变得每个 epoch 仅 1 分钟,模型的准确率下降了 3%。
问题:
1) 有人知道为什么 GPU 在经典 LSTM 层中的工作速度比 CPU 慢吗?我不明白为什么会这样。
2) 为什么当我使用CuDNNLSTM 而不是LSTM 时,训练变得更快并且模型的准确率下降了?
附:
My CPU: Intel Core i7-7700 处理器(8M 高速缓存,最高 4.20 GHz)
My GPU: nVidia GeForce GTX 1050 Ti (4 GB)
【问题讨论】:
标签: python tensorflow machine-learning keras gpu