Tensorflow keras调谐器超参数训练中优化器和学习率的选择
我想使用 kerastuner框架 如何选择优化器和不同的学习率 可以传递给优化器。 这是我的Tensorflow keras调谐器超参数训练中优化器和学习率的选择,tensorflow,machine-learning,neural-network,hyperparameters,keras-tuner,Tensorflow,Machine Learning,Neural Network,Hyperparameters,Keras Tuner,我想使用 kerastuner框架 如何选择优化器和不同的学习率 可以传递给优化器。 这是我的model.compile()方法 model.compile( loss=BinaryCrossentropy(from_logits=True), optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']), metrics=['accuracy']
model.compile()
方法
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']),
metrics=['accuracy']
)
该代码只选择一个优化器
并将使用默认的学习速率。
我想通过hp.Float('lrate',min_值=1e-4,max_值=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']
)