在Keras fit_generator()中,如果你的max_q_size大于1,你需要有多个工人吗?

时间:2016-08-17 16:08:36

标签: python machine-learning deep-learning keras

在Keras中,当使用fit_generator()时,您可以指定max_q_siz e,它基本上在后台预取发生器结果以节省延迟。为了有效地工作,你需要有多个工作进程(至少一个用于训练,一个用于预取)。使用单个进程串行填充队列然后将其拉出并不会带来太多好处,开销甚至可能导致性能下降。

来自文档:

  

max_q_size:生成器队列的最大大小

     

nb_worker:要启动的最大进程数

     

pickle_safe:如果为True,请使用基于流程的线程。请注意,由于此实现依赖于多处理,因此不应将非非可选参数传递给生成器,因为它们无法轻松传递给子进程。

您是否需要将nb_worker明确设置为2或更高(默认值为1),或者是否已经有至少一个额外的工作人员填充队列,因为您的模型训练以获得大于1的生成器队列的好处?

另外,如果您使用多个工作人员,是否需要将pickle_safe设为True

0 个答案:

没有答案