Изменение модели в цикле (керас, питон) - PullRequest
0 голосов
/ 25 декабря 2018

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

optimizer_list = ['Adagrad', 'SGD', 'Adam', ..]
for i in model_list:
    model.compile(loss='categorical_crossentropy',
                  optimizer = Adagrad(),
                  metrics = ['accuracy'])

Это не сработало, как я ожидал.Как правильно выполнить это действие?

Заранее спасибо.

1 Ответ

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

Пример решения

from keras import optimizers


model_list = [optimizers.Adagrad, optimizers.SGD, optimizers.Adam, ..]
for optimization_method in model_list:
    model.compile(loss='categorical_crossentropy',
                  optimizer = optimization_method(),
                  metrics = ['accuracy'])

Если я правильно понимаю, вы хотите поддерживать ту же архитектуру, но пробовать разные оптимизации.

Проблема с тем, что у вас есть, заключается в том, что, хотя вы перебираете имена стратов оптимизации, вы не 1) фактически используете их и 2) они просто строки, а не функции

...