Я использую специальный конвейер Scikit-Learn (sklearn.pipeline.Pipeline
) в сочетании с RandomizedSearchCV
для оптимизации гиперпараметров. Это отлично работает.
Теперь я хотел бы вставить модель Keras в качестве первого шага в конвейер. Параметры модели должны быть оптимизированы. Вычисленная (установленная) модель Keras затем должна использоваться позже в конвейере другими шагами, поэтому я думаю, что мне нужно сохранить модель как глобальную переменную, чтобы другие ее шаги могли ее использовать. Правильно ли это?
Я знаю, что Keras предлагает некоторые обертки для Scikit-Learn API, но проблема в том, что эти обертки уже выполняют классификацию/регрессию, но я хочу только вычислить модель Keras и ничего больше.
Как это можно сделать?
Например, у меня есть метод, который возвращает модель:
def create_model(file_path, argument2,...):
...
return model
Для этого нужны некоторые фиксированные параметры, такие как путь к файлу и т.д., но X и y не нужны (или их можно игнорировать). Параметры модели должны быть оптимизированы (количество слоев и т.д.).