Выполненный на заказ CNN с использованием VGG19 - PullRequest
0 голосов
/ 05 ноября 2019

В настоящее время я пытаюсь создать пользовательский CNN, используя уже обученные сверточные слои VGG19, а затем добавляю свои собственные плотные слои, которые я планирую тренировать. в сети есть ветка вопросов и ветка ответов, и в конечном итоге она должна решить, имеет ли ответ то же содержание, что и вопрос.

я получаю:

    AttributeError: 'Tensor' object has no attribute 'input'

вот код:

initial_model = VGG19()

q_input = Model(initial_model.input, initial_model.layers[-layers_to_omit].output)
a_input = Model(initial_model.input, initial_model.layers[-layers_to_omit].output)

q_output = tf.keras.layers.Flatten()(q_input.output)
a_output = tf.keras.layers.Flatten()(a_input.output)

q_model = Model(initial_model.input, q_output)
a_model = Model(initial_model.input, a_output)
print(q_model.summary())
# combine the output of the two branches
combined = concatenate([q_model.output, a_model.output])

z = Dense(64, activation="relu")(combined)
z = Dense(32, activation="relu")(z)
z = Dense(64, activation="relu")(z)
z = Dense(1, activation="linear")(z)

# our model will accept the inputs of the two branches and
# then output a single value
model = Model(inputs=[q_model.input, a_output.input], outputs=z)

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

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 05 ноября 2019

Изменение a_output.input на a_model.input должно исправить эту ошибку.

...