Keras模型的predict和predict_on_batch方法之间有什么区别?
根据keras文档:
predict_on_batch(self, x)
Returns predictions for a single batch of samples.
但是,predict
在批处理上调用时,标准方法似乎没有任何区别,无论它是一个元素还是多个元素。
model.predict_on_batch(np.zeros((n, d_in)))
是相同的
model.predict(np.zeros((n, d_in)))
(numpy.ndarray
形状的(n, d_out
)
-
区别在于,当您传递的
x
数据大于一批时。predict
将
逐批处理 所有数据,预测标签。因此,它在内部进行分批处理,一次进给一批。predict_on_batch
另一方面,假设您传入的数据恰好是一批,因此将其馈送到网络。它不会尝试拆分它(如果阵列很大,则取决于您的设置,这可能会给您的GPU内存带来问题)