Keras中predict和fit_generator使用时有哪些潜在问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计855个文字,预计阅读时间需要4分钟。
使用`predict`函数时,必须设置`batch_size`参数,否则预测效率会很低。根据Keras文档中的`predict`函数原型:`predict(self, x, batch_size=32, verbose=0)`,说明:仅使用`batch_size=32`,也就是说,每次将`batch_size=32`的数据批量进行处理。
1、使用predict时,必须设置batch_size,否则效率奇低。
查看keras文档中,predict函数原型:
predict(self, x, batch_size=32, verbose=0)
说明:
只使用batch_size=32,也就是说每次将batch_size=32的数据通过PCI总线传到GPU,然后进行预测。在一些问题中,batch_size=32明显是非常小的。而通过PCI传数据是非常耗时的。
所以,使用的时候会发现预测数据时效率奇低,其原因就是batch_size太小了。
经验:
使用predict时,必须人为设置好batch_size,否则PCI总线之间的数据传输次数过多,性能会非常低下。
2、fit_generator
说明:keras 中 fit_generator参数steps_per_epoch已经改变含义了,目前的含义是一个epoch分成多少个batch_size。旧版的含义是一个epoch的样本数目。
本文共计855个文字,预计阅读时间需要4分钟。
使用`predict`函数时,必须设置`batch_size`参数,否则预测效率会很低。根据Keras文档中的`predict`函数原型:`predict(self, x, batch_size=32, verbose=0)`,说明:仅使用`batch_size=32`,也就是说,每次将`batch_size=32`的数据批量进行处理。
1、使用predict时,必须设置batch_size,否则效率奇低。
查看keras文档中,predict函数原型:
predict(self, x, batch_size=32, verbose=0)
说明:
只使用batch_size=32,也就是说每次将batch_size=32的数据通过PCI总线传到GPU,然后进行预测。在一些问题中,batch_size=32明显是非常小的。而通过PCI传数据是非常耗时的。
所以,使用的时候会发现预测数据时效率奇低,其原因就是batch_size太小了。
经验:
使用predict时,必须人为设置好batch_size,否则PCI总线之间的数据传输次数过多,性能会非常低下。
2、fit_generator
说明:keras 中 fit_generator参数steps_per_epoch已经改变含义了,目前的含义是一个epoch分成多少个batch_size。旧版的含义是一个epoch的样本数目。

