KerasTuner 是一个易于使用、可扩展的超参数优化框架,
解决了超参数搜索的痛点。轻松使用按运行定义的语法配置搜索空间,然后利用可用的搜索算法之一找到模型的最佳超参数值。
KerasTuner 内置了贝叶斯优化、Hyperband 和随机搜索算法,
并且还旨在使研究人员能够轻松扩展,以便实验新的搜索算法。
安装最新版本:
pip install keras-tuner --upgrade
您还可以在我们的
GitHub 仓库中查看其他版本。
导入 KerasTuner 和 TensorFlow:
import keras_tuner
import keras
编写一个创建并返回 Keras 模型的函数。
使用 hp
参数在模型创建过程中定义超参数。
def build_model(hp):
model = keras.Sequential()
model.add(keras.layers.Dense(
hp.Choice('units', [8, 16, 32]),
activation='relu'))
model.add(keras.layers.Dense(1, activation='relu'))
model.compile(loss='mse')
return model
初始化一个调优器(这里是 RandomSearch
)。
我们使用 objective
指定选择最佳模型的目标,
并且我们使用 max_trials
指定要尝试的不同模型的数量。
tuner = keras_tuner.RandomSearch(
build_model,
objective='val_loss',
max_trials=5)
开始搜索并获取最佳模型:
tuner.search(x_train, y_train, epochs=5, validation_data=(x_val, y_val))
best_model = tuner.get_best_models()[0]
要了解有关 KerasTuner 的更多信息,请查看 这个入门指南
如果 KerasTuner 有助于您的研究,我们感谢您的引用。
这是 BibTeX 条目:
@misc{omalley2019kerastuner,
title = {KerasTuner},
author = {O'Malley, Tom and Bursztein, Elie and Long, James and Chollet, Fran\c{c}ois and Jin, Haifeng and Invernizzi, Luca and others},
year = 2019,
howpublished = {\url{https://github.com/keras-team/keras-tuner}}
}