#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