我已经安装了Tensorflow cpu版本。我只有很少的图像作为数据集,我正在一台4GB内存和Core i5 3340m 2.70GHZ的机器上进行培训,批量大小为1,它仍然非常慢。所有图像的大小是相同(我认为是200X185)。它会像这样训练吗?请告诉我如何加快这个过程?
答案 0 :(得分:1)
如果您的网络很深,使用CPU训练您的网络可能需要很长时间,因为它没有像GPU那样进行优化以进行计算。
我建议你拿一张显卡,即使旧版的显卡也可以显着提高性能(可能会快100倍)。
答案 1 :(得分:1)
让我们在这里放一些数字。您正在处理大小为200x185的图像。你意识到我们正在谈论37000个功能吗?如果我们处理灰度级。如果我们处理RGB乘以3.你用了多少图像用于训练?还要记住,SGD(随机梯度下降,小批量大小= 1)对于大数据集来说往往非常慢......给我们一些数字。有多少训练图像,什么是"慢"。一个时代有多少时间。其他东西:编程语言,库(tensorflow等),优化器等将帮助我们判断你的代码是否是"慢"并且它可以更快。
答案 2 :(得分:0)
batch size
是影响训练时间的另一个参数:更高的大小将有助于减少每个时期的时间,但需要更多的纪元来获得相同的效率,如size = 1
如果你的网络很深(使用CNN等),你应该在GPU上运行