keras2 predict和fit_generator的坑

来源:互联网 发布:淘宝上井江茶油造假 编辑:程序博客网 时间:2024/06/08 14:26

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的样本数目。

         如果说训练样本树N=1000,steps_per_epoch = 10,那么相当于一个batch_size=100,如果还是按照旧版来设置,那么相当于

batch_size = 1,会性能非常低

经验:必须明确fit_generator参数steps_per_epoch

原创粉丝点击