Load_weights Объединить последовательную модель Keras - PullRequest
0 голосов
/ 25 сентября 2018

У меня объединены две модели, и все работает нормально, и я пытаюсь загрузить веса этой модели в другую модель с теми же слоями.

TRAINING MODEL

1. ---> ADD DIMENSION (1, 5, 128, 88, 76)
2. ---> PERMUTE (1, 5, 88, 128, 76)
3. ---> REMOVE DIMENSION (440, 128, 76)
4. ---> LSTM_1 DIMENSION (440, 128, 300)
5. ---> LSTM_2 DIMENSION (440, 128, 300)
1. ---> PREV NOTE DIMENSION (440, 128, 2)
1. ---> MERGE(440, 128, 302)
2. ---> ADD DIMENSION (1, 5, 88, 128, 302)
3. ---> PERMUTE DIMENSION (1, 5, 128, 88, 302)
4. ---> REMOVE DIMENSION (640, 88, 302)
5. ---> LSTM DIMENSION_3 (640, 88, 100)
6. ---> LSTM DIMENSION_4 (640, 88, 50)
7. ---> TIMEDISTRIBUTION DIMENSION_4 (640, 88, 2)
8. ---> LAMBDA EXIT DIMENSION_4 (5, 128, 88, 2)

И я хочу сохранить весатренировочную модель и загрузите в другую сеть с этой формой:

MODEL 2
1. ---> ADD1 DIMENSION_predic (1, 1, 88, 76)
2. ---> PERMUTE1 DIMENSION_predic (1, 88, 1, 76)
3. ---> REMOVE1 DIMENSION_predic (88, 1, 76)
4. ---> LSTM1 DIMENSION_predic (88, 1, 300)
5. ---> DROPOUT1 DIMENSION_predic (88, 1, 300)
6. ---> LSTM2 DIMENSION_predic (88, 1, 300)
7. ---> DROPOUT2 DIMENSION_predic (88, 1, 300)
8. ---> ADD2 DIMENSION_predic (1, 88, 1, 300)
9. ---> PERMUTE2 DIMENSION_predic (1, 1, 88, 300)
10. --> REMOVE2 DIMENSION_predic (1, 88, 300)
11. --> THIS HAS TO BE (1, 88, 302) BUT IS -> (1, 88, 300)
12. --> LSTM3 DIMENSION_predic (1, 88, 100)
13. --> DROPOUT3 DIMENSION_predic (1, 88, 100)
14. --> LSTM4 DIMENSION_predic (1, 88, 50)
15. --> DROPOUT4 DIMENSION_predic (1, 88, 50)
16. --> TIMEDIST. DIMENSION_predic (1, 88, 2)
17. --> FINAL_RESHAPE DIMENSION_predic (1, 1, 88, 2)

Обе модели имеют одинаковое количество слоев, но у «тренировочной модели» есть слой слияния, поэтому у меня возникают проблемы с загрузкой весовиз «модели обучения» в «МОДЕЛЬ 2».Я загружаю веса по имени:

model_2.load_weights("./models/model_TEST.h5", by_name = True)

Но у меня есть ошибка измерения:

ValueError: Dimension 0 in both shapes must be equal, but are 300 and 302. Shapes are [300,400] and [302,400]. for 'Assign_6' (op: 'Assign') with input shapes: [300,400], [302,400].

Проблема в слое числа "МОДЕЛЬ 2" 11 .Я не знаю, как загрузить веса из «МОДЕЛИ ОБУЧЕНИЯ» в «МОДЕЛЬ 2».Это тоже не работает.

get_weights()  
set_weights(weights)

Это последовательная модель, обе.

Спасибо, ребята!

...