为什么预测需要Keras的批量大小?

时间:2016-06-19 20:04:25

标签: neural-network classification keras

在Keras中,为了预测datatest的类,使用了predict_classes()

例如:

classes = model.predict_classes(X_test, batch_size=32)

我的问题是,我知道batch_size在培训中的用法,但为什么需要batch_size进行预测?它是如何工作的?

2 个答案:

答案 0 :(得分:22)

Keras可以同时预测多个值,就像输入100个元素的矢量一样,Keras可以为每个元素计算一个预测,给出100个输出。此计算也可以批量完成,由batch_size定义。

这是为了防止您无法同时将所有数据放入CPU / GPU RAM中,并且需要进行批处理。

答案 1 :(得分:1)

原因是一样的,为什么你需要batch size来训练,因为你不能把所有的数据都放在一个batch中

同样,如果你有数百万个数据点要预测,很明显你一次也过不了(单批)。

毕竟,训练和预测都对批量数据进行了前向传递。

因此,您需要批量大小来控制/限制单个批次中的数据点并将其分布在多个预测批次中。