AttributeError:“顺序”对象没有属性“分数”

Shi*_*bin 0 python numpy attributeerror sequential conv-neural-network

我正在使用卷积神经网络,在使用顺序神经网络时,我在训练数据时遇到了问题。使用顺序是不可能获得最好的分数吗?

from numpy import array
from numpy import reshape
import numpy as np
def model_CNN(X_train,Y_train,X_test,Y_test):

    model = Sequential()

    model.add(Conv1D(filters=512, kernel_size=32, padding='same', kernel_initializer='normal', activation='relu', input_shape=(256, 1)))
    model.add(Conv1D(filters=512, kernel_size=32, padding='same', kernel_initializer='normal', activation='relu'))
    model.add(Dropout(0.2)) # This is the dropout layer. It's main function is to inactivate 20% of neurons in order to prevent overfitting
    model.add(Conv1D(filters=256, kernel_size=32, padding='same', kernel_initializer='normal', activation='relu'))
    model.add(Dropout(0.2))
    model.add(Conv1D(filters=256, kernel_size=32, padding='same', kernel_initializer='normal', activation='relu'))

    model.add(Flatten())

    optimizer = keras.optimizers.SGD(lr=0.01, momentum=0.5)
    model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])
    convolutional_model = model.fit(X_train, Y_train, epochs=5,batch_size=64,verbose=1, validation_data=(X_test, Y_test))
    print(convolutional_model.score(X_train,Y_train))
    model.summary()
    return model
Run Code Online (Sandbox Code Playgroud)

回溯收到错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-50-9a2005301144> in <module>()
      1 
----> 2 convolutional_model= model_CNN(X_train,Y_train,X_test,Y_test)
      3 print(convolutional_model)

<ipython-input-49-bac0ec08f100> in model_CNN(X_train, Y_train, X_test, Y_test)
     34     model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])
     35     convolutional_model = model.fit(X_train, Y_train, epochs=5,batch_size=64,verbose=1, validation_data=(X_test, Y_test))
---> 36     print(convolutional_model.score(X_train,Y_train))
     37     # Print the summary of the model
     38     model.summary()

AttributeError: 'Sequential' object has no attribute 'score'
Run Code Online (Sandbox Code Playgroud)

由于我是Python新手,我遇到了麻烦并检查了各种资源,但没有任何帮助,请指导我......我从这一行得到了错误

print(convolutional_model.score(X_train,Y_train))
Run Code Online (Sandbox Code Playgroud)

如果不可能,请指导我找到更好的方法......

Cen*_*glu 8

model不应该使用convolutional_model对象。fit函数返回一个历史对象,其中包含有关训练阶段的一些信息,例如损失、准确性......这取决于您的损失函数和度量函数。

你能试试这个吗?

print(model.evaluate(X_train, Y_train))