SciKit-Learn GridSearchCV的n_jobs参数不适用于Keras

问题描述

下面是我的代码,用于通过SciKit-Learn gridsearchcv管道运行KerasClassifier。但是当我包含n_jobs = -1参数时,它不起作用。

def baseline_model():
    model = Sequential()
    model.add(Dense(128,input_shape = (X.shape[1],),activation = 'relu'))
    model.add(Dense(128,activation = 'relu'))
    model.add(Dense(len(np.unique(y)),activation='softmax'))
    model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
    return model

model = KerasClassifier(build_fn = baseline_model)

# Define grid
random_state = 123
batch_size = [10,120]
epochs = [10,30]

param_grid = dict(batch_size = batch_size,epochs = epochs)

gridsearch = gridsearchcv(
    estimator = model,param_grid = param_grid,cv = 5,refit = True,n_jobs = -1
)

gridsearch.fit(X_train,y_train)

错误消息:

brokenProcesspool: A process in the executor was terminated abruptly while the future was running or pending.

但是一旦我注释掉n_jobs = -1参数,它就起作用了。有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)