TensorFlow 2.5环境安装keras_tuner后调用RandomSearch报错如何解决
问题解决步骤
- 第一步:排查命名冲突
检查你的代码脚本所在目录下是否存在名为keras_tuner.py的文件、同名文件夹,这类重名文件会优先被Python导入,触发循环导入报错。如果存在,将其重命名为其他不冲突的名称(比如tuner_test.py)。 - 第二步:重装keras_tuner
先彻底卸载已安装的版本,避免多环境安装冲突:
conda remove keras-tuner pip uninstall keras-tuner
执行多次上述卸载命令,直到终端提示没有对应安装包为止。之后选择以下任意一种方式安装稳定版本:
- pip安装(推荐):
pip install keras-tuner --upgrade
- conda安装:
conda install -c conda-forge keras-tuner=1.3.5
- 第三步:调整导入与调用方式
如果直接调用kt.RandomSearch仍报错,可以改为显式导入对应类:
from keras_tuner.tuners import RandomSearch
调用时直接使用RandomSearch即可:
tuner_search= RandomSearch(build_model, objective='val_accuracy', max_trials=5,directory='tune',project_name="cnn model tunning")
额外代码兼容修正
你的现有代码存在损失函数不匹配的问题,会导致后续训练报错:你已经通过to_categorical将标签转换为独热编码,但使用的损失函数是sparse_categorical_crossentropy(仅适配整数标签),需要将损失函数改为categorical_crossentropy。
内容的提问来源于stack exchange,提问作者T. Elhassan
相关产品推荐
相关产品推荐

