Scikit learn Keras GridSearch scikit学习冻结

Scikit learn Keras GridSearch scikit学习冻结,scikit-learn,deep-learning,keras,grid-search,hyperparameters,Scikit Learn,Deep Learning,Keras,Grid Search,Hyperparameters,我很难使用scikit learn在Keras中实现网格搜索。基于,我编写了以下代码: 来自keras.wrappers.scikit\u了解导入KerasClassifier 从sklearn.model_选择导入GridSearchCV def create_model(): 模型=顺序() 添加(稠密(100,输入_形状=(max_len,len(字母表)),内核_正则化器=正则化器.l2(0.001))) 模型。添加(辍学率(0.85)) 添加(LSTM(100,输入_形=(100,))

我很难使用scikit learn在Keras中实现网格搜索。基于,我编写了以下代码:

来自keras.wrappers.scikit\u了解导入KerasClassifier
从sklearn.model_选择导入GridSearchCV
def create_model():
模型=顺序()
添加(稠密(100,输入_形状=(max_len,len(字母表)),内核_正则化器=正则化器.l2(0.001)))
模型。添加(辍学率(0.85))
添加(LSTM(100,输入_形=(100,))
模型。添加(辍学率(0.85))
添加(密集(num\u output\u类,activation='softmax'))
adam=adam(lr=0.001,β1=0.9,β2=0.999,衰减=1e-6)
model.compile(loss='classifical_crossentropy',
优化器=亚当,
指标=[‘准确度’])
回归模型
种子=7
np.随机种子(种子)
模型=KerasClassifier(build\u fn=create\u model,epochs=10,verbose=0)
批次大小=[10,20]
参数网格=dict(批次大小=批次大小)
grid=GridSearchCV(估计器=模型,参数网格=参数网格,n_作业=-1)
网格结果=网格.fit(列数据减少,列标签减少)
打印(“最佳:%f使用%s”%(网格结果。最佳分数,网格结果。最佳参数))
平均值=网格结果。cv结果[平均值测试分数]
stds=网格结果。cv结果['std测试分数']
参数=网格结果。cv结果['params']
对于zip中的平均值、标准偏差、参数(平均值、标准偏差、参数):
打印(“%f(%f)和:%r”%(平均值、标准偏差、参数))
它没有给我任何错误信息,但它只是不停地运行,没有打印出任何内容。我故意用很少的时间、很少的训练示例和很少的超参数来搜索它。没有网格搜索,一个纪元的运行速度非常快,所以我不认为我需要给它更多的时间。它根本不起任何作用

有人能指出我遗漏了什么吗


非常感谢

我也有同样的问题


从参数列表中删除
n_jobs=-1
可能会有所帮助!另外,尽量不要进行热编码。

首先(始终)尝试使用
n_jobs=1
,如果它工作正常并且在合理的时间内返回,是否可以。此更新?我也有同样的问题。n_jobs=1可以工作,但不能并行化。n_jobs=1最终会返回一些结果,但需要的时间太长,即使GPU上只有很少的数据。。。