Я пытаюсь объединить при выводе определенного слоя две модели, которые я ранее обучал. Ранее мне удалось использовать выходные данные промежуточных слоев, используя следующий код:
intermediate_layer_model = Model(inputs=audio.model.input,
outputs=audio.model.get_layer(layer_name).output)
Однако для моей новой модели следующий код не удался:
combined_model = Model(inputs=[audio.model.input, visual.model.input], outputs=loss_out)
Со следующей трассировкой:
Traceback (most recent call last):
File "multimodalTrain1.py", line 191, in <module>
train(run_name, 0, 300, 1, 100, 50, 75, 34, 64)
File "multimodalTrain1.py", line 154, in train
outputs=loss_out)
File "/srv/users/Rifqi/avid/lib/python3.5/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "/srv/users/Rifqi/avid/lib/python3.5/site-packages/keras/engine/network.py", line 94, in __init__
self._init_graph_network(*args, **kwargs)
File "/srv/users/Rifqi/avid/lib/python3.5/site-packages/keras/engine/network.py", line 169, in _init_graph_network
' (missing previous layer metadata).')
ValueError: Input tensors to a Model must come from `keras.layers.Input`. Received: [<tf.Tensor 'the_input:0' shape=(?, 190, 96, 1) dtype=float32>, <tf.Tensor 'the_labels:0' shape=(?, 34) dtype=int32>, <tf.Tensor 'input_length:0' shape=(?, 1) dtype=int32>, <tf.Tensor 'label_length:0' shape=(?, 1) dtype=int32>] (missing previous layer metadata).
PS Каждая из моделей допускает несколько входов