栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

增加n_jobs对GridSearchCV没有影响

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

增加n_jobs对GridSearchCV没有影响

这是一些 可能 导致此行为的原因

  • 随着增加 线程数,初始化和释放每个线程会产生明显的开销。我在i7 7700HQ上运行了您的代码,每次增加时,我都会看到以下行为
    n_job
    • n_job=1
      n_job=2
      每个线程的时间(时间由每模型GridSearchCV评价充分训练模型和测试)为2.9s(总时间约2分钟)
    • n_job=3
      ,时间为3.4s(总时间1.4分钟)
    • n_job=4
      ,时间为3.8S(总时间58秒)
    • n_job=5
      ,时间为4.2s(总时间51秒)
    • n_job=6
      ,时间为4.2秒(总时间约为49秒)
    • n_job=7
      ,时间为4.2秒(总时间约为49秒)
    • n_job=8
      ,时间为4.2秒(总时间约为49秒)
  • 现在您可以看到,每个线程的时间增加了,但是总体时间似乎有所减少(尽管超过了

    n_job=4 the different was not exactly linear) and remained constained with
    n_jobs> = 6`,这是由于初始化和释放线程会产生成本)。请参见github问题和本期。

  • 此外,可能还有其他瓶颈,例如数据量太大,无法同时广播到所有线程,线程在RAM上抢占(或其他资源等),如何将数据推入每个线程等。

  • 我建议您阅读有关Ahmdal定律的信息,该定律指出通过并行化可以实现加速的理论界限,该界限由以下公式提供: Image Source:Ahmdal定律:Wikipedia

  • 最后,这可能是由于数据大小以及用于训练的模型的复杂性所致。

这是一篇博客文章,解释了有关多线程的相同问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号