Объект 'Tensor' не имеет атрибута 'compile' - PullRequest
0 голосов
/ 06 января 2019

Ниже приведен фрагмент кода:

    merged_model = Sequential()
    merged_model = concatenate([model1.output, model2.output, model3.output, model4.output, model5.output])
    x = BatchNormalization()(merged_model)

    x = Dense(300)(x)
    x = PReLU()(x)
    x = Dropout(0.2)(x)
    x = BatchNormalization()(x)

    x = Dense(1)(x)
    out = Activation('sigmoid')(x)

    mergerd_model = Model([model1.input, model2.input, model3.input, model4.input, model5.input], [out])

    merged_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

    merged_model.fit([x1, x2, x3, x4, x5], y=y, batch_size=384, nb_epoch=20,
             verbose=1, validation_split=0.1, shuffle=True, callbacks=[checkpoint])

Но когда я пытаюсь запустить его, я получаю следующую ошибку:

    Traceback (most recent call last):
  File "t1.py", line 167, in <module>
    merged_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
AttributeError: 'Tensor' object has no attribute 'compile'

Когда я пытался просмотреть тип merged_model, я получаю это:

<class 'tensorflow.python.framework.ops.Tensor'>

1 Ответ

0 голосов
/ 06 января 2019

Основная проблема - это опечатка: при построении модели она должна быть merged_model, а не mergerd_model (т.е. убрать лишнее "r"). Однако следующая строка также не нужна, поскольку вы используете функциональный API и можете удалить его:

merged_model = Sequential()
...