请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

使用random_searh_cv.fit时,出现错误

RuntimeError: Cannot clone object <tensorflow.python.keras.wrappers.scikit_learn.KerasRegressor object at 0x7f028213a438>, as the constructor either does not set or modifies parameter layer_size

正在回答 回答被采纳积分+3

插入代码

2回答

正十七 2020-03-01 14:22:51

如LHF同学指出的,sklearn 0.21.3可以工作。

然后经过我调研,发现也可能是新版本tensorflow中的KerasRegressor的问题,新版本的参数在做deep copy的时候出现了问题,导致在拷贝复杂的numpy对象的时候出错,如果把搜索的参数改成普通列表则不会出错:

1
2
3
4
5
param_distribution = {
    "hidden_layers": [1234],
    "layer_size": [5102030],
    "learning_rate": [1e-45e-51e-35e-31e-2],
}

因为deep copy这个操作对用户不可见,所以结论是,退回到sklearn 0.21.3版本,或者在param_distribution中使用普通列表

0 回复 有任何疑惑可以回复我~
正十七 2020-02-26 10:22:11

同学你好,好像这是个通用问题,我一天之内看到三四个这样的问题,怀疑是版本问题,不知道是否能将使用的scikit-learn和tensorflow的版本号贴一下?

类似问题集合:

http://coding.imooc.com/learn/questiondetail/168838.html

http://coding.imooc.com/learn/questiondetail/168054.html

http://coding.imooc.com/learn/questiondetail/169274.html




0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

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

帮助反馈 APP下载

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

公众号

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