Как получить доступ к слоям загруженной модели multi_gpu в Keras? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть модель глубокого обучения, слои которой я хотел бы раскрыть в этой статье . Я хочу визуализировать активации на тестовом изображении. Тем не менее, я тренируюсь с использованием нескольких графических процессоров и сохраняю лучшие контрольные точки для тренировок. Итак, когда я нажимаю model.summary () на загруженной модели, вместо вывода традиционной архитектуры, я получаю это, которое я не могу использовать:

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_2 (InputLayer)            (None, 256, 256, 3)  0                                            
__________________________________________________________________________________________________
lambda_1 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_2 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_3 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_4 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_5 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_6 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_7 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
lambda_8 (Lambda)               (None, 256, 256, 3)  0           input_2[0][0]                    
__________________________________________________________________________________________________
model_2 (Model)                 (None, 256, 256, 1)  31032837    lambda_1[0][0]                   
                                                                 lambda_2[0][0]                   
                                                                 lambda_3[0][0]                   
                                                                 lambda_4[0][0]                   
                                                                 lambda_5[0][0]                   
                                                                 lambda_6[0][0]                   
                                                                 lambda_7[0][0]                   
                                                                 lambda_8[0][0]                   
__________________________________________________________________________________________________
conv2d_48 (Concatenate)         (None, 256, 256, 1)  0           model_2[1][0]                    
                                                                 model_2[2][0]                    
                                                                 model_2[3][0]                    
                                                                 model_2[4][0]                    
                                                                 model_2[5][0]                    
                                                                 model_2[6][0]                    
                                                                 model_2[7][0]                    
                                                                 model_2[8][0]                    
==================================================================================================
Total params: 31,032,837
Trainable params: 31,032,837
Non-trainable params: 0

Как получить / отобразить веса и архитектуру сохраненной модели нескольких графических процессоров? Есть ли способ преобразовать его «в нормальное русло», так сказать?

Спасибо!

1 Ответ

1 голос
/ 14 июня 2019

После загрузки модели с model = load_model('model.h5') или model.load_weights(load_path), просто сделайте это

single_model = model.layers[-2]

Затем вы можете получить доступ к нужным слоям с помощью model.layers[i] или с помощью итерации

for layer in model.layers:
    #do smth
...