【发布时间】:2018-05-11 16:39:34
【问题描述】:
更新:我必须重新编写这个问题,因为经过一些调查,我意识到这是一个不同的问题。
上下文:使用带有 scikit learn 的 kerasclassifier 包装器在网格搜索设置中运行 keras。系统:Ubuntu 16.04,库:anaconda 发行版 5.1、keras 2.0.9、scikitlearn 0.19.1、tensorflow 1.3.0 或 theano 0.9.0,仅使用 CPU。
代码: 我只是使用这里的代码进行测试:https://machinelearningmastery.com/use-keras-deep-learning-models-scikit-learn-python/,第二个示例“网格搜索深度学习模型参数”。注意第 35 行,内容如下:
grid = GridSearchCV(estimator=model, param_grid=param_grid)
症状:当网格搜索使用超过 1 个作业(意味着 cpus?)时,例如,将上面 A 行的 'n_jobs' 设置为 '2',下一行:
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=2)
将导致代码无限期挂起,无论是使用 tensorflow 还是 theano,并且没有 cpu 使用(请参见随附的屏幕截图,其中创建了 5 个 python 进程但没有一个正在使用 cpu)。
通过调试,似乎是以下带有 'sklearn.model_selection._search' 的行会导致问题:
line 648: for parameters, (train, test) in product(candidate_params,
cv.split(X, y, groups)))
,程序挂起,无法继续。
对于这意味着什么以及为什么会发生这种情况,我真的很感激。
提前致谢
【问题讨论】:
-
您好,我也有同样的问题。你找到解决这个问题的方法了吗,
标签: tensorflow keras scikit-learn theano neuraxle