Локальная настройка гиперпараметра - Tensorflow Google Cloud ML Engine - PullRequest
0 голосов
/ 29 ноября 2018

Можно ли настроить гиперпараметры с помощью ML Engine для локальной тренировки модели?В документации упоминается только тренировка с настройкой гиперпараметра в облаке (отправка задания), и нет упоминания об этом на месте.

В противном случае, есть ли другая часто используемая настройка гиперпараметра, которая передает аргументы команды в файл task.py, как в учебнике по оценке переписи?

https://github.com/GoogleCloudPlatform/cloudml-samples/tree/master/census

Ответы [ 3 ]

0 голосов
/ 02 декабря 2018

Как сказал Пунейт, настройка гиперпараматора не может выполняться локально в ML-Engine.

SciKit Optimize предоставляет простую в использовании оболочку, которая работает с любой моделью, включая оценщики.Просто поместите код, который запускает обучение для N эпох, в свою собственную функцию, которая возвращает оценочную метрику 1-auroc или потерю для минимизации.

import numpy as np
from skopt import gp_minimize

def train(hyperparam_config):
    # set from passed in hyperparameters
    learning_rate = hyperparam_config[0]
    num_layers = hyperparam_config[2]
    # run training
    res = estimator.train_and_evaluate()...
    return res['loss']  # return metric to minimize

hyperparam_config = [Real(0.0001, 0.01, name="learning_rate"),
                      Integer(3, 10, name="num_layers")]
res = gp_minimize(train, hyperparam_config)
with open('results.txt', 'w') as wf:
    wf.write(str(res))
print(res)

Источник: https://github.com/scikit-optimize/scikit-optimize/blob/master/examples/hyperparameter-optimization.ipynb

0 голосов
/ 13 декабря 2018

Проверка Шерпа , отличная библиотека оптимизации гиперпараметров.

В ней говорится:

Оптимизация гиперпараметров, которая позволяет исследователям быстро экспериментировать, визуализировать и масштабировать

Существует множество библиотек оптимизации HyperParameter, но с помощью Sherpa можно визуализировать результаты.

0 голосов
/ 30 ноября 2018

Вы не можете выполнять HPTuning ( Байесовская оптимизация на основе HPTuning, который поддерживает Cloud ML Engine) локально, поскольку это управляемая служба, которую предлагает Cloud ML Engine.Существуют и другие способы настройки гиперпараметров, например, Scikit-learn GridSearch, но они гораздо менее эффективны в этой задаче.

...