1

TFX 管道是快速端到端模型开发的一个非常好的工具。但是,我还想在最终模型训练和评估之前包括超参数调整。

我的问题是,是否存在将调优纳入管道的最佳实践,如果有,是否可以公开获得?

4

1 回答 1

1

TFMA 或 TFX 中还没有可用于超参数调整的内置组件。但是,Tensorflow 中有内置的库。据我所知,有两种方法可以做到这一点。

  1. TF 2.0 版的超参数调整及其在 Tensorboard 中的可视化,上面 greeness 提到

部分代码片段如下所示:

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

  1. 使用TF.Estimator. 我们可以将params参数设置Estimator为字典,其中键作为超参数的名称,值作为它们各自的值。有关更多信息,请参阅下面的链接。

https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator#init _

https://github.com/tensorflow/tensorflow/blob/1bf6646b871d0ce601715f8ed2f50430ca504da7/tensorflow/contrib/training/python/training/hparam.py#L310

于 2019-06-25T04:39:31.953 回答