Keras: входные тензоры в модель должны поступать из `keras.layers.Input` - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь объединить при выводе определенного слоя две модели, которые я ранее обучал. Ранее мне удалось использовать выходные данные промежуточных слоев, используя следующий код:

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 Каждая из моделей допускает несколько входов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...