卷积神经网络训练需要大量时间(使用keras)

时间:2019-03-17 14:16:37

标签: keras deep-learning conv-neural-network

我正在使用cifar-10数据集来训练CNN。 我正在使用Windows-10笔记本电脑,keras版本-2.2.4和python-3.7
我已使用LearnOpencv.com中的示例之一使用keras构建了CNN。
我正在使用batch_size = 256和epochs = 50

每个纪元耗时接近1000秒,使50个纪元= 50000秒〜13小时,这是非常高的。

我的Windows笔记本电脑有4 cpus,已通过以下python代码确认。

NSTextStorage

有没有办法在训练中引入并行性(例如使用全部4个cpus)并将训练时间减少4倍? 。 使用gpu租用aws机器是另一种选择,但是会产生成本。 g3s.xlarge的收费约为每小时0.45美元。

用于构建模型的示例代码如下。

NSMutableAttributedString

1 个答案:

答案 0 :(得分:0)

如果要并行运行CNN,则将遇到如何累积梯度以及如何更新单个模型的问题。这非常棘手,人工智能公司正在努力。

如果您的目标是学习,请尝试使用较小的数据集(例如MINST),而不是cifar。您也可以通过减小CNN模型的深度来提高历元速度。减少一些层次。同样,如果您的目标纯粹是学习,则可以处理缩小图像,这将减少模型权重的数量,从而减少训练时间。