对于快速的端到端模型开发,TFX pipeline是一个非常好的工具。然而,在最终的模型训练和评估之前,我也想包括超参数调整。
我的问题是,是否存在在管道中包含调优的最佳实践,如果存在,是否可以公开使用?
发布于 2019-06-25 12:39:32
在TFMA或TFX中还没有内置组件可用于超参数调优。但是,Tensorflow中有内置的库可用。据我所知,有两种方法可以做到。
部分代码片段如下所示:
HP_NUM_UNITS = hp.HParam('num_units', hp.Discrete([16, 32]))
HP_DROPOUT = hp.HParam('dropout', hp.RealInterval(0.1, 0.2))
HP_OPTIMIZER = hp.HParam('optimizer', hp.Discrete(['adam', 'sgd']))
METRIC_ACCURACY = 'accuracy'
with tf.summary.create_file_writer('logs/hparam_tuning').as_default():
hp.hparams_config(hparams=[HP_NUM_UNITS, HP_DROPOUT, HP_OPTIMIZER],
metrics=[hp.Metric(METRIC_ACCURACY, display_name='Accuracy')],)有关更多详细信息,请参阅此链接:https://www.tensorflow.org/tensorboard/r2/hyperparameter_tuning_with_hparams
使用TF.Estimator调整
Estimator的params参数设置为一个字典,关键字作为超参数的名称,值作为它们各自的值。有关更多information.,请参阅以下链接
https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator#
和
https://stackoverflow.com/questions/56636116
复制相似问题