[tensorflow2.0]使用Keras Tune进行超参数调优

本文介绍了如何使用Keras Tuner进行超参数调优,特别是针对图像分类任务。Keras Tuner提供了不同的超模型定义方式,如模型构建器函数或HyperModel子类化。在示例中,我们使用Hyperband调谐器,它利用自适应资源分配和提前停止策略。通过定义回调并在训练结束后重新训练最佳模型,可以优化模型性能。
摘要由CSDN通过智能技术生成

  Keras Tuner是一个库。Tuner 组件用于调节模型的超参数。为您的机器学习(ML)应用程序选择正确的超参数集的过程称为超参数调整或超调整。Tuner 组件广泛使用 Python KerasTuner API 来调节超参数。注:无论建模 API 如何,KerasTuner 库都可用于超参数调节,而不仅限于 Keras 模型。
  超参数是控制训练过程和ML模型的拓扑的变量。 这些变量在训练过程中保持不变,并直接影响ML程序的性能。 超参数有两种类型:

  • 模型超参数,例如隐藏层的数量和宽度
  • 算法超参数,例如随机梯度下降(SGD)的学习率以及k个最近邻(KNN)分类器的最近邻居数
    在本教程中,您将使用Keras Tuner对图像分类应用程序执行超调。

使用方法

  当构建用于调整超参数的模型时,除了模型架构之外,还要定义超参数搜索空间。 超调优设置的模型称为超模型。
  可以通过两种方法定义超模型:

  • 通过使用模型构建器功能
  • 通过子类化Keras Tuner API的HyperModel类

  此外,还可以将两个预定义的HyperModel类-HyperXception和HyperResNet用于计算机视觉应用程序。
  下面将使用模型构建器功能来定义图像分类模型。 模型构建器函数返回已编译的模型,并使用内联定义的超参数对模型进行超调。

def model_builder(hp):
  model = keras.Sequential()
  model.add(keras.layers.Flatten(input_shape=(28, 28)))

  # 微调第一个隐藏层的神经节点数
  # 将搜索区间定义在[32, 512]内
  hp_units = hp.Int('units', min_value = 32, max_value = 512, step = 32)
  model.add
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值