使用Keras Tuner优化神经网络时RandomSearch行报module不可调用错误如何解决
Keras Tuner调用错误修复方案
根因
你遇到的'module' object is not callable错误核心原因是导入的randomsearch是模块名称,不是可调用的调优器类。Keras Tuner的随机搜索调优类采用大驼峰命名规则为RandomSearch,直接调用导入的模块会触发该报错。
修复步骤
调整导入语句
将原有导入行from keras_tuner.tuners import randomsearch
修改为from keras_tuner.tuners import RandomSearch调整调优器实例化代码
将tuner = randomsearch(...)替换为如下代码:
tuner = RandomSearch( build_model, objective = "val_accuracy", max_trials = 1, executions_per_trial = 1, directory = LOG_DIR )
额外注意事项
- 运行代码前需要提前完成数据集切分,定义好
X_train、y_train、X_test、y_test四个变量,否则会触发变量未定义错误 - 你当前用了mse作为损失函数属于回归任务配置,用
val_accuracy作为优化目标不符合逻辑,回归任务建议选择val_loss作为优化目标,准确率仅适用于分类任务。
内容的提问来源于stack exchange,提问作者Benuker
相关产品推荐
相关产品推荐

