Как включить настройку гиперпараметра в конвейере TFX?

Конвейер TFX - действительно хороший инструмент для быстрой сквозной разработки моделей. Однако я также хотел бы включить настройку гиперпараметра перед окончательной тренировкой и оценкой модели.

Мой вопрос заключается в том, существует ли лучшая практика по включению настройки в конвейер, и если да, то доступна ли она публично?

1 ответ

В TFMA или TFX пока нет встроенного компонента, доступного для настройки гиперпараметра. Тем не менее, есть встроенные библиотеки, доступные в Tensorflow. Насколько мне известно, есть 2 способа сделать это.

  1. Настройка гиперпараметра и его визуализация в Tensorboard для TF версии 2.0, упомянутые зеленым цветом выше.

Фрагмент кода частичного кода показан ниже:

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 в качестве словаря с ключами в качестве имен Hyper Pameters и значений в качестве их соответствующих значений. Обратитесь по ссылке ниже для получения дополнительной информации.

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

а также

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

Другие вопросы по тегам