You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让KerasTuner跳过超参搜索直接构建默认参数模型

KerasTuner直接使用默认超参数构建模型的实现方法

核心原理

Keras Tuner的HyperParameters实例在首次读取未定义的超参数时,会自动使用你在hp.choice/hp.Int/hp.Float等方法中设置的default参数值,基于这个特性可以快速构建全默认参数的模型。

实现方法

方法1:无需修改现有代码,直接构造默认超参数对象

仅需新增两行代码即可实现需求,不用调整原有HyperModel和调优逻辑:

from keras_tuner import HyperParameters

# 初始化空的超参数对象,会自动读取所有default值
default_hp = HyperParameters()
default_model = tuner.hypermodel.build(default_hp)

方法2:封装为你期望的use_default_parameter调用方式

如果需要实现你提到的直接传参开关的调用格式,修改你的MyHyperModel的build方法即可:

from keras_tuner import HyperModel, HyperParameters

class MyHyperModel(HyperModel):
    # 新增参数开关
    def build(self, hp=None, use_default_parameter=False):
        if use_default_parameter or hp is None:
            hp = HyperParameters()
        # 原有模型构建逻辑不变
        hp.choice('hyperparameter', [1,2,3], default=3)
        # ... 其他超参数定义、模型构建代码
        return model

修改后即可直接用你期望的方式调用:

default_model = tuner.hypermodel.build(use_default_parameter=True)

注意事项

  • 所有超参数定义时必须显式指定default参数,避免不同版本KerasTuner默认行为不一致导致取值错误
  • 原有超参数搜索、最优模型构建逻辑不受影响,仍可以照常传入搜索得到的best_hp构建最优模型

内容的提问来源于stack exchange,提问作者Hauke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:00:00