如何绘制这个Keras CNN模型的准确率和损失? [重复]

下面的代码是我的CNN模型,我希望能够绘制它的准确率和损失,任何帮助都将不胜感激。我希望使用matplotlib来绘制输出,所以需要一些建议,因为我不确定如何着手。需要绘制两张图,一张是训练和验证的准确率,另一张是训练和验证的损失。

bin_labels = {1:'EOSINOPHIL',2:'LYMPHOCYTE',3:'MONOCYTE',4:'NEUTROPHIL'}def CNN(imgs,img_labels,test_imgs,test_labels,stride):    #类别数量(2)    num_classes = len(img_labels[0])    #图像大小    img_rows,img_cols=imgs.shape[1],imgs.shape[2]    input_shape = (img_rows, img_cols, 3)    #创建模型    model = Sequential()    #第一个卷积层    model.add(Conv2D(32, kernel_size=(3, 3),                     activation='relu',                     input_shape=input_shape,                     strides=stride))    #第一个最大池化层    model.add(MaxPooling2D(pool_size=(2, 2)))    #第二个卷积层    model.add(Conv2D(64, (3, 3), activation='relu'))    #第二个最大池化层    model.add(MaxPooling2D(pool_size=(2, 2)))    #第三个卷积层    model.add(Conv2D(128, (3, 3), activation='relu'))    #第三个最大池化层    model.add(MaxPooling2D(pool_size=(2, 2)))    #将矩阵转换为全连接层    model.add(Flatten())    #Dense函数将FCL转换为128个值    model.add(Dense(128, activation='relu'))    #最终的Dense层,应用softmax函数    model.add(Dense(num_classes, activation='softmax'))    #模型参数    model.compile(loss='categorical_crossentropy',                  optimizer='adam',                  metrics=['accuracy'])    #在训练模型之前,评估测试数据上的模型    score = model.evaluate(test_imgs,test_labels, verbose=1)    print('\nKeras CNN二分类准确率:', score[1],'\n')    #模型训练    history = model.fit(imgs,img_labels,                        shuffle = True,                         epochs=3,                         validation_data = (test_imgs, test_labels))    #在训练模型之后,评估测试数据上的模型    score = model.evaluate(test_imgs,test_labels, verbose=1)    print('\nKeras CNN二分类准确率:', score[1],'\n')    #预测测试数据的标签    y_pred = model.predict(test_imgs)    Y_pred_classes = np.argmax(y_pred,axis=1)     Y_true = np.argmax(test_labels,axis=1)    #正确标签    for i in range(len(Y_true)):        if(Y_pred_classes[i] == Y_true[i]):            print("预测的类别是 : " , Y_pred_classes[i])            print("真实的类别是 : " , Y_true[i])            break        #基于真实Y值和预测Y值制作混淆矩阵    confusion_mtx = [Y_true, Y_pred_classes]    #模型摘要    model.summary()    return model,confusion_mtxmodel,conf_mat = CNN(X_train,y_trainHot,X_test,y_testHot,1);

回答:

当我处理CNN模型时,这个方法对我有用:

你可以看到绘制的图像

这里

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注