首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >keras_tuner (Keras_tuner)可以用于非模型超参数吗?

keras_tuner (Keras_tuner)可以用于非模型超参数吗?
EN

Stack Overflow用户
提问于 2021-11-12 16:40:38
回答 1查看 170关注 0票数 0

在查看了doc和教程之后,在我看来,为您的模型定义一个超级参数是非常容易的。这包括从层构建它的代码,以及编译相关的代码,例如学习速率。我正在寻找的(也)是一种方法运行超调搜索非模型相关的参数。下面是一些示例:

  1. 数据增强。如果您将其构建为tf dataset管道的一部分。例如随机translation
  2. over/undersampling.的数量这通常用于处理不平衡的类,其中一种方法是tf.data.Dataset.sample_from_datasets。该方法的“权值”参数是历元的hyperparameters.
  3. num。也许我错过了这个,但是它应该以最直接的方式在keras_tuner中考虑。解决方法是使用调度回调,并在编译

中实现这一点。

所有这些都缺少调谐器库框架吗?这些似乎是你喜欢调整的普通事物。

EN

回答 1

Stack Overflow用户

发布于 2021-11-18 18:01:24

这个会有帮助的。https://keras.io/guides/keras_tuner/custom_tuner/自定义调谐器可以是“超参数化”tf数据集管道的方法。下面是我使用的代码片段,它可以工作。

代码语言:javascript
复制
class MyTuner(kt.BayesianOptimization):
  def run_trial(self, trial, train_ds, *args, **kwargs):
 
    hp = trial.hyperparameters

    train_ds = train_ds.shuffle(batch_size * 8).repeat().batch(batch_size).prefetch(buffer_size=AUTO)

    hp_constract_factor = hp.Float('contrast_factor', min_value=0.01, max_value=0.2, sampling='log')


    random_flip = tf.keras.layers.experimental.preprocessing.RandomFlip('horizontal')
    random_contrast = tf.keras.layers.experimental.preprocessing.RandomContrast(hp_constract_factor)


    train_ds = train_ds.map(lambda x, y: (random_flip(x, training=True), y), num_parallel_calls=AUTO)
    train_ds = train_ds.map(lambda x, y: (random_contrast(x, training=True), y), num_parallel_calls=AUTO)

    return super(MyTuner, self).run_trial(trial, train_ds, *args, **kwargs)

tuner = MyTuner(
  model_builder,
  objective='val_sparse_categorical_accuracy',
  max_trials=50,
  executions_per_trial=1,
  directory='keras_tuner',
  project_name='classifier_data_aug_custom_tuner'
)

tuner.search(...)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69946243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档