在查看了doc和教程之后,在我看来,为您的模型定义一个超级参数是非常容易的。这包括从层构建它的代码,以及编译相关的代码,例如学习速率。我正在寻找的(也)是一种方法运行超调搜索非模型相关的参数。下面是一些示例:
中实现这一点。
所有这些都缺少调谐器库框架吗?这些似乎是你喜欢调整的普通事物。
发布于 2021-11-18 18:01:24
这个会有帮助的。https://keras.io/guides/keras_tuner/custom_tuner/自定义调谐器可以是“超参数化”tf数据集管道的方法。下面是我使用的代码片段,它可以工作。
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(...)https://stackoverflow.com/questions/69946243
复制相似问题