Как указано в этой проблеме , Keras 'multi_gpu_model
изменяет кажущуюся структуру слоев модели.
Например, когда выглядят слои из исходной модели:
>>> [l.name for l in my_model.layers]
[input, conv2d_1, conv2d_2, maxpool_1, conv2d_3, maxpool_2, dense_1, dense_2, dense_3]
После использования multi_gpu_model(my_model)
слои станут:
>>> new_model = multi_gpu_model(my_model)
>>> [l.name for l in new_model.layers]
[input, lambda_1, lambda_2, lambda_3, lambda_4, model_1, dense_3]
Я пытаюсь получить доступ к выводу слоя maxpool_2
из исходной модели, чтобы использовать это в другую, последующую модель. Как получить доступ к выводу исходного слоя maxpool_2
после использования multi_gpu_model
?
Примечание 1: поскольку old_model
не обучен, я не заинтересован в получении вывода из old_model.get_layer('maxpool_2')
. Здесь интересны только выходные данные с обучением new_model
.
Примечание 2: попытка вызова new_model.get_layer('maxpool_2')
вызовет ValueError: Нет такого слоя: maxpool_2.