如何在keras-tuner中为超参数训练选择优化器和学习率
How to choose optimizer and learning rate for hyperparameter training in keras-tuner
我想使用
kerastuner 框架。
如何选择优化器和不同的学习率
可以传递给优化器。
这是我的model.compile()
方法。
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']),
metrics=['accuracy']
)
该代码只选择了一个优化器
一次,并会使用默认的学习率。
我想通过 hp.Float('lrate', min_value=1e-4, max_value=1e-2, sampling='LOG')
传递学习率
给每个优化器。我如何嵌套它们。
试试这个:
# Select optimizer
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']
# Conditional for each optimizer
if optimizer == 'adam':
.....
elif optimizer == 'adagrad':
.....
elif optimizer == 'SGD':
.....
# Now compile your model with previous param
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=optimizer,
metrics=['accuracy']
)
我想使用 kerastuner 框架。
如何选择优化器和不同的学习率
可以传递给优化器。
这是我的model.compile()
方法。
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']),
metrics=['accuracy']
)
该代码只选择了一个优化器
一次,并会使用默认的学习率。
我想通过 hp.Float('lrate', min_value=1e-4, max_value=1e-2, sampling='LOG')
传递学习率
给每个优化器。我如何嵌套它们。
试试这个:
# Select optimizer
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']
# Conditional for each optimizer
if optimizer == 'adam':
.....
elif optimizer == 'adagrad':
.....
elif optimizer == 'SGD':
.....
# Now compile your model with previous param
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=optimizer,
metrics=['accuracy']
)