请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

njobs的问题

老师,我之前看过一门课,讲的是使用交叉验证网格搜索的时候,那边的njob的参数代表使用电脑的几个核,如果是-1代表的是全部启用CPU的所有核。
经过测试,在启用1个核和2个核的速度的确能提高,理论上是有2倍的效率,实际上只有1点几倍的效率。
详细的如图
图片描述
上图是采用n-jobs=-1也就是启用cpu所有核使用的时间是2.6分钟
图片描述
上图是使用n_jobs=1使用一个CPU核使用的时间是将近4分钟

正在回答

1回答

正十七 2019-06-13 21:21:18

是的,你说的没错。不过普通的scikit模型把n_jobs设为大于1的值可以成功,但对于tensorflow的模型来说,把n_jobs设为大于1的数的时候会遇到一个job不能被序列化的问题。我还没有找到解决方案,怀疑是tensorflow的bug。后面如果解决的话会更新视频。

0 回复 有任何疑惑可以回复我~
  • n_jobs设为大于1的话至少得多卡或者多机吧?否则的话会有显卡占用问题。另外这里job不能序列化应该是模型序列化的问题,https://shimo.im/docs/jyTdieZIXr0MGzEW/  这是我之前备份的一份关于keras模型序列化的方法,老师可以看一下
    回复 有任何疑惑可以回复我~ 2019-07-02 11:50:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信