为了账号安全,请及时绑定邮箱和手机立即绑定

KerasClassifier TypeError:__call__() 在 cross_val

KerasClassifier TypeError:__call__() 在 cross_val

慕姐8265434 2021-08-05 10:38:48
我尝试在我的模型上进行 cross_val_score 并收到以下错误:Traceback (most recent call last):  File "/home/dinhnha1402/.local/lib/python2.7/site-packages/keras/wrappers/scikit_learn.py", line 210, in fit    return super(KerasClassifier, self).fit(x, y, **kwargs)  File "/home/dinhnha1402/.local/lib/python2.7/site-packages/keras/wrappers/scikit_learn.py", line 139, in fit    **self.filter_sk_params(self.build_fn.__call__))TypeError: __call__() takes exactly 2 arguments (1 given)这是我的模型:model = Sequential()model.add(LSTM(int(128), input_shape=(timesteps, int(128)),return_sequences=False))model.add(Dropout(0.2))model.add(Dense(20, activation='relu', input_shape=(128,),kernel_initializer=initializers.glorot_uniform(seed=0)))model.add(Dropout(0.2))model.add(Dense(20, activation='softmax'))model.add(Dense(2, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])### fit modelmodel.fit(X_train, Y_train, batch_size=batch_size, epochs= epochs, verbose=1, validation_data=(X_test, Y_test))####Applying K-fold cross validationclassifier = KerasClassifier(build_fn=binary_classify_lstm_fc_model(), batch_size=10, epochs=100, verbose=0)accuracies = cross_val_score(estimator= classifier, X = X_train, y = Y_train, cv=10, scoring="accuracy")#n_jobs= -1print(accuracies)我在任何地方都找不到这个错误(在谷歌上)。有没有人对如何解决这个问题有任何想法?
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

只需将损失从 categorical_crossentropy 更改为 mean_squared_error。


查看完整回答
反对 回复 2021-08-05
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

只需删除“()”

像那样:

分类器 = KerasClassifier(build_fn=binary_classify_lstm_fc_model(),batch_size=10,epochs=100,verbose=0)

======>

分类器 = KerasClassifier(build_fn=binary_classify_lstm_fc_model,batch_size=10,epochs=100,verbose=0)


查看完整回答
反对 回复 2021-08-05
  • 2 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号