У меня есть рабочий фрагмент кода Keras 2.3, который собирает: кодер, декодер и объединяет их в одну модель (автоэнкодер) с использованием Functional API, и этот метод:
def merge_encoder_decoder(encoderModel, decoderModel):
input_img = encoderModel.input
output = decoderModel(encoderModel.output)
return Model(input_img, output)
Это делается, когдаЯ тренирую объединенную модель, веса также обновляются в моделях кодера и декодера. Мне нужно такое поведение, поскольку я использую один кодер в более позднем процессе.
Теперь я хочу попытаться распределить процесс обучения этой модели по кластеру Hadoop. Для этого я выбрал инфраструктуру Analytics Zoo (0.6.0), которая позволяет распределенное обучение с использованием Spark и предоставляет некоторые API высокого уровня для построения моделей.
Моя проблема: Analytics Zooподдерживает до Keras 1.2.2, и я не могу найти способ воспроизвести поведение моей функции merge_encoder_decoder в этой версии. В частности, в Keras 1.2.2 функциональные модели, по-видимому, не имеют атрибутов «.input» и «.output» (которые должны возвращать соответствующие тензоры), и я не нашел документации об этих атрибутах вДокументация Keras 2.3 тоже.
Так есть ли способ сделать то, что я хочу в Keras 1.2.2?
Спасибо