Я пытаюсь объединить две последовательные модели в Керасе. Код следующий, взятый из этого ответа :
sequential_1 = [keras.layers.Dense(200, input_shape = (784,),activation=tf.nn.relu),
keras.layers.Dense(50, activation=tf.nn.relu)]
model_1 = keras.Sequential(sequential_1)
sequential_2 = [keras.layers.Dense(784, input_shape = (784,), activation=tf.nn.relu),
keras.layers.Dense(300, activation=tf.nn.relu)]
model_2 = keras.Sequential(sequential_1)
collective = Concatenate()([model_1.output, model_2.output])
logits = keras.layers.Dense(10, tf.nn.softmax)(collective)
combined = Model(inputs = [model_1.input, model_2.input], outputs = [logits])
Однако я получаю эту ошибку:
The name "dense_4_input" is used 2 times in the model. All layer names should be unique.
Вероятно, это связано с тем, что keras автоматически называет слои, если я не предоставляю имя. Однако по разным причинам мне не нужно постоянно называть все свои слои, прежде чем я смогу объединить две модели.
Есть ли способ объединить эти модели без этой ошибки, которая не требует указания имен слоев вручную? Есть ли способ, чтобы keras автоматически переименовывал все имена слоев для меня?
Обновление: мне все еще кажется, что я получаю эту ошибку, даже если я вручную перемаркирую все слои с разными именами. Что я делаю не так?