Отправка параметров в функцию построения модели Keras Tuner

#machine-learning #tensorflow2.0 #recurrent-neural-network #hyperparameters #keras-tuner

#машинное обучение #tensorflow2.0 #рекуррентная нейронная сеть #гиперпараметры #keras-tuner

Вопрос:

Я хочу отправить параметры в функцию построения модели Keras Tuner-х для параметризации

  • количество слоев плотных/выпадающих,
  • количество нейронов,
  • активация,
  • и оптимизатор

для настройки гиперпараметров.

Однако я не могу отправить параметры в функцию построения модели. Мой код:

         hp = HyperParameters()

        learning_rate = [1e-2, 1e-3, 1e-4]
        hp.Choice('learning_rate', values=learning_rate)

        layers = [1, 2, 3]
        hp.Choice("layers", values=layers)

        layer2= [500]
        hp.Choice("layer2", values=layer2)

        layer3 = [500, 400]
        hp.Choice("layer3", values=layer3)

        activations = ['relu', 'tanh', 'sigmoid']
        hp.Choice("activations", values=activations)

        tuner = kt.Hyperband(model_builder_hp_copy,
                             hyperparameters=hp,
                             objective='val_accuracy',
                             max_epochs=10,
                             factor=3,
                             directory='my_dir',
                             project_name='intro_to_kt')
  

В приведенном выше коде я добавил несколько вариантов в HyperParameters() экземпляр, чтобы получить их в функции построения модели. Но в этой функции, чтобы получить некоторые другие параметры, я не знаю, как они добавляются по умолчанию.

Я хочу иметь возможность отправлять варианты из функции построения модели и иметь возможность использовать их внутри.

Комментарии:

1. У меня точно такая же проблема. Если вы когда-либо решали эту проблему, пожалуйста, прокомментируйте ответ. Боролся с этим в течение нескольких дней

Ответ №1:

Если у вас есть существующая гипермодель и вы хотите выполнить поиск только по нескольким параметрам (таким как learning_rate ), вы можете передать аргумент hyperparameters конструктору tuner. Вам также необходимо установить tune_new_entries=False , чтобы указать, что параметры, которые вы не указали, не должны настраиваться. Для этих параметров используется значение по умолчанию.

Источник: Документация Keras Tuner