使用Keras和TensorFlow-GPU v2.0实施K倍交叉验证

时间:2019-11-27 20:44:03

标签: python tensorflow keras tensorflow2.0

您好,我正在学习k折交叉验证,这第一段代码是一个简单的ANN的构建:

def buildModel():
    # Fitting classifier to the Training set
    # Create your classifier here
    model = Sequential()

    model.add(Dense(units = 6, input_dim = X.shape[1], activation = 'relu'))
    model.add(Dense(units = 6, activation = 'relu'))
    model.add(Dense(units = 1, activation = 'sigmoid'))
    model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
    return model

然后,我在sklearn中使用cross_val_score验证来运行ANN。 Keras也在我的GPU上运行。

from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score

model = KerasClassifier(build_fn = buildModel, batch_size = 10, epochs =100)
accuracies = cross_val_score(estimator = model, X = X_train, y = y_train, cv = 10, n_jobs = -1)

但是,如果我尝试使用n_jobs = -1并使用所有内核,则会出错(ps我有11个功能):

Blas GEMM launch failed : a.shape=(10, 11), b.shape=(11, 6), m=10, n=6, k=11
 [[node dense_1/MatMul (defined at C:\Users\Brandon Cardillo\AppData\Roaming\Python\Python37\site-packages\tensorflow_core\python\framework\ops.py:1751) ]] 
 [Op:__inference_keras_scratch_graph_1030]

Function call stack:
keras_scratch_graph

Ps。我也在jupyter笔记本上运行

非常需要任何帮助。 谢谢。

0 个答案:

没有答案