首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将fix超参数作为变量传递给Keras-Tuner?

如何将fix超参数作为变量传递给Keras-Tuner?
EN

Stack Overflow用户
提问于 2021-10-31 20:29:15
回答 1查看 61关注 0票数 1

我想用Keras调谐器对Keras模型进行超参数调整。

代码语言:javascript
复制
import tensorflow as tf
from tensorflow import keras
import keras_tuner as kt

def model_builder(hp):

  model = keras.Sequential()
  model.add(keras.layers.Flatten(input_shape=(28, 28)))

  hp_units = hp.Int('units', min_value=32, max_value=512, step=32)
  model.add(keras.layers.Dense(units=hp_units, activation='relu'))
  model.add(keras.layers.Dense(10))

  hp_learning_rate = hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])

  model.compile(optimizer=keras.optimizers.Adam(learning_rate=hp_learning_rate),
                loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
                metrics=['accuracy'])

  return model

tuner = kt.Hyperband(model_builder,
                     objective='val_accuracy',
                     max_epochs=10,
                     factor=3)

tuner.search(train_X, train_y, epochs=50)

到现在为止还好。但是,我还想定义一些模型参数(如输入图像尺寸)作为model_builder的输入参数,我不知道该怎么做:

代码语言:javascript
复制
def model_builder(hp, img_dim1, img_dim2):

  model = keras.Sequential()
  model.add(keras.layers.Flatten(input_shape=(img_dim1, img_dim2)))
...

代码语言:javascript
复制
tuner = kt.Hyperband(model_builder(img_dim1, img_dim2),
                     objective='val_accuracy',
                     max_epochs=10,
                     factor=3)

看起来好像不管用。如何在hp之外向模型提供img_dim1, img_dim2

EN

回答 1

Stack Overflow用户

发布于 2021-10-31 22:18:26

一个简单的解决方案是在python中使用“部分函数”,如下所示:

代码语言:javascript
复制
from functools import partial

#...

model_builder_ready = partial(model_builder, img_dim1 = value1, img_dim2 = value2)

tuner = kt.Hyperband(model_builder_ready,
                     objective='val_accuracy',
                     max_epochs=10,
                     factor=3)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69790356

复制
相关文章

相似问题

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