Esempio n. 1
0
    model_res4_SS_BN = res4_model_ss()

    model_res4_SS_BN.load_weights(best_weights_RES_path_ss4)

    pred_test_res4 = model_res4_SS_BN.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test_res4)
    gt_test = gt[test_indices] - 1
    overall_acc_res4 = metrics.accuracy_score(pred_test_res4,
                                              gt_test[:-VAL_SIZE])
    confusion_matrix_res4 = metrics.confusion_matrix(pred_test_res4,
                                                     gt_test[:-VAL_SIZE])
    each_acc_res4, average_acc_res4 = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix_res4)
    kappa = metrics.cohen_kappa_score(pred_test_res4, gt_test[:-VAL_SIZE])
    KAPPA_RES_SS4.append(kappa)
    OA_RES_SS4.append(overall_acc_res4)
    AA_RES_SS4.append(average_acc_res4)
    #TRAINING_TIME_RES_SS4.append(toc6 - tic6)
    #TESTING_TIME_RES_SS4.append(toc7 - tic7)
    ELEMENT_ACC_RES_SS4[index_iter, :] = each_acc_res4

    print("3D RESNET_SS4 without BN training finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_RES_SS4, OA_RES_SS4, AA_RES_SS4, ELEMENT_ACC_RES_SS4, CATEGORY,
    '/home/zilong/SSRN/records/IN_test_SS_10.txt',
    '/home/zilong/SSRN/records/IN_test_SS_element_10.txt')
Esempio n. 2
0
                  'f1score: %s' % (f1score))
        except ZeroDivisionError:
            print('precision: %s' % 0, 'recall: %s' % 0)

    mcm = metrics.multilabel_confusion_matrix(pred_test, gt_test[:-VAL_SIZE])

    # precision = metrics.precision_score(pred_test, gt_test[:-VAL_SIZE])
    # recall = metrics.recall_score(pred_test, gt_test[:-VAL_SIZE])
    # f1score = metrics.f1_score(pred_test, gt_test[:-VAL_SIZE])

    KAPPA_3D_DenseNet.append(kappa)
    OA_3D_DenseNet.append(overall_acc)
    AA_3D_DenseNet.append(average_acc)
    # TRAINING_TIME_3D_DenseNet.append(toc6 - tic6)
    # TESTING_TIME_3D_DenseNet.append(toc7 - tic7)
    ELEMENT_ACC_3D_DenseNet[index_iter, :] = each_acc

    # PRECISION_3D_DenseNet.append(precision)
    # RECALL_3D_DenseNet.append(recall)
    # F1SCORE_3D_DenseNet.append(f1score)

    print("3D DenseNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

    # print(counter)
modelStatsRecord.outputStats_assess(
    KAPPA_3D_DenseNet, OA_3D_DenseNet, AA_3D_DenseNet, ELEMENT_ACC_3D_DenseNet,
    CATEGORY, 'D:/RGCSA/records/'
    'IN_test_RGCSA_3_1_6_100_1.txt', 'D:/RGCSA/records/'
    'IN_test_element_RGCSA_3_1_6_100_1.txt')
    model_res4_SS_BN.load_weights(best_weights_RES_path_ss4)

    pred_test_res4 = model_res4_SS_BN.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test_res4)
    gt_test = gt[test_indices] - 1
    overall_acc_res4 = metrics.accuracy_score(pred_test_res4,
                                              gt_test[:-VAL_SIZE])
    confusion_matrix_res4 = metrics.confusion_matrix(pred_test_res4,
                                                     gt_test[:-VAL_SIZE])
    each_acc_res4, average_acc_res4 = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix_res4)
    kappa = metrics.cohen_kappa_score(pred_test_res4, gt_test[:-VAL_SIZE])
    KAPPA_RES_SS4.append(kappa)
    OA_RES_SS4.append(overall_acc_res4)
    AA_RES_SS4.append(average_acc_res4)
    #TRAINING_TIME_RES_SS4.append(toc6 - tic6)
    #TESTING_TIME_RES_SS4.append(toc7 - tic7)
    ELEMENT_ACC_RES_SS4[index_iter, :] = each_acc_res4

    print("3D RESNET_SS4 without BN training finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_RES_SS4, OA_RES_SS4, AA_RES_SS4, ELEMENT_ACC_RES_SS4, CATEGORY,
    './drive/My Drive/Residual_HSI-Colab/SSRN/records/UP_test_SS_10.txt',
    './drive/My Drive/Residual_HSI-Colab/SSRN/records/UP_test_SS_element_10.txt'
)
Esempio n. 4
0
    # SS Residual Network 4 with BN
    model_MSDNet = model_MSDNet()

    # 直接加载训练权重
    model_MSDNet.load_weights(best_weights_MSDNet_path)

    pred_test = model_MSDNet.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test)
    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_MSDNet.append(kappa)
    OA_3D_MSDNet.append(overall_acc)
    AA_3D_MSDNet.append(average_acc)
    ELEMENT_ACC_3D_MSDNet[index_iter, :] = each_acc

    print("3D MSDNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_3D_MSDNet, OA_3D_MSDNet, AA_3D_MSDNet, ELEMENT_ACC_3D_MSDNet,
    CATEGORY,
    'F:/transfer code/Tensorflow  Learning/SKNet/records-ksc-19-712/IN_test_3D.txt',
    'F:/transfer code/Tensorflow  Learning/SKNet/records-ksc-19-712/IN_test_element_3D.txt'
)
Esempio n. 5
0
    model_ResNeXt.load_weights(best_weights_ResNeXt_path)

    pred_test = model_ResNeXt.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)

    counter = collections.Counter(pred_test)

    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_ResNeXt.append(kappa)
    OA_3D_ResNeXt.append(overall_acc)
    AA_3D_ResNeXt.append(average_acc)
    # TRAINING_TIME_3D_ResNeXt.append(toc6 - tic6)
    # TESTING_TIME_3D_ResNeXt.append(toc7 - tic7)
    ELEMENT_ACC_3D_ResNeXt[index_iter, :] = each_acc

    print("3D ResNeXt  finished.")
    print("# %d Iteration" % (index_iter + 1))

    # print(counter)
modelStatsRecord.outputStats_assess(
    KAPPA_3D_ResNeXt, OA_3D_ResNeXt, AA_3D_ResNeXt, ELEMENT_ACC_3D_ResNeXt,
    CATEGORY, 'D:/3D-ResNeXt-master/records/UP_test_3D_ResNeXt_4_1_5_60_1.txt',
    'D:/3D-ResNeXt-master/records/UP_test_element_3D_ResNeXt_4_1_5_60_1.txt')
Esempio n. 6
0
    # 直接加载训练权重
    model_densenet.load_weights(best_weights_DenseNet_path)

    pred_test = model_densenet.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test)
    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_DenseNet.append(kappa)
    OA_3D_DenseNet.append(overall_acc)
    AA_3D_DenseNet.append(average_acc)
    # TRAINING_TIME_3D_DenseNet.append(toc6 - tic6)
    # TESTING_TIME_3D_DenseNet.append(toc7 - tic7)
    ELEMENT_ACC_3D_DenseNet[index_iter, :] = each_acc

    print("3D DenseNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_3D_DenseNet, OA_3D_DenseNet, AA_3D_DenseNet, ELEMENT_ACC_3D_DenseNet,
    CATEGORY,
    'D:/Tensorflow  Learning/3D-DenseNet-Hyperspectral/records-in-no-bottlenck-layer-6-24/IN_test_3D.txt',
    'D:/Tensorflow  Learning/3D-DenseNet-Hyperspectral/records-in-no-bottlenck-layer-6-24/IN_test_element_3D.txt'
)
Esempio n. 7
0
    # SS Residual Network 4 with BN
    model_MSDNet = model_MSDNet()

    # 直接加载训练权重
    model_MSDNet.load_weights(best_weights_MSDNet_path)

    pred_test = model_MSDNet.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test)
    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_MSDNet.append(kappa)
    OA_3D_MSDNet.append(overall_acc)
    AA_3D_MSDNet.append(average_acc)
    ELEMENT_ACC_3D_MSDNet[index_iter, :] = each_acc

    print("3D MSDNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_3D_MSDNet, OA_3D_MSDNet, AA_3D_MSDNet, ELEMENT_ACC_3D_MSDNet,
    CATEGORY,
    'F:/transfer code/Tensorflow  Learning/3D-MSDNet/records-botswana-13-514-5/IN_test_3D.txt',
    'F:/transfer code/Tensorflow  Learning/3D-MSDNet/records-botswana-13-514-5/IN_test_element_3D.txt'
)
Esempio n. 8
0
    model_densenet = model_DenseNet()

    model_densenet.load_weights(best_weights_DenseNet_path)

    pred_test = model_densenet.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test)
    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_DenseNet.append(kappa)
    OA_3D_DenseNet.append(overall_acc)
    AA_3D_DenseNet.append(average_acc)
    # TRAINING_TIME_3D_DenseNet.append(toc6 - tic6)
    # TESTING_TIME_3D_DenseNet.append(toc7 - tic7)
    ELEMENT_ACC_3D_DenseNet[index_iter, :] = each_acc

    print("3D DenseNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_3D_DenseNet, OA_3D_DenseNet, AA_3D_DenseNet, ELEMENT_ACC_3D_DenseNet,
    CATEGORY,
    'F:/transfer code/Tensorflow  Learning/3D-MSDNet/records-up-13-217-7-1/UP_test_3D.txt',
    'F:/transfer code/Tensorflow  Learning/3D-MSDNet/records-up-13-217-7-1/UP_test_element_3D.txt'
)
Esempio n. 9
0
    x_test = x_test_all[:-VAL_SIZE]
    y_test = y_test[:-VAL_SIZE]

    model_HSICNNet = model_HSICNNet()

    model_HSICNNet.load_weights(best_weights_HSICNNet_path)

    pred_test = model_HSICNNet.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2], x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test)
    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_HSICNNet.append(kappa)
    OA_3D_HSICNNet.append(overall_acc)
    AA_3D_HSICNNet.append(average_acc)
    # TRAINING_TIME_3D_HSICNNet.append(toc6 - tic6)
    # TESTING_TIME_3D_HSICNNet.append(toc7 - tic7)
    ELEMENT_ACC_3D_HSICNNet[index_iter, :] = each_acc

    print("3D HSICNNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(KAPPA_3D_HSICNNet, OA_3D_HSICNNet, AA_3D_HSICNNet,
                                    ELEMENT_ACC_3D_HSICNNet, CATEGORY,
                                    'F:/transfer code/Tensorflow  Learning/SKNet/records-up-hy-15-514/UP_test_3D.txt',
                                    'F:/transfer code/Tensorflow  Learning/SKNet/records-up-hy-15-514/UP_test_element_3D.txt')
Esempio n. 10
0
    n = len(confusion_matrix)
    for i in range(len(confusion_matrix[0])):
        rowsum, colsum = sum(confusion_matrix[i]), sum(confusion_matrix[r][i]
                                                       for r in range(n))
        try:
            precision = (confusion_matrix[i][i] / float(colsum))
            recall = (confusion_matrix[i][i] / float(rowsum))
            f1score = (2 * precision * recall) / (precision + recall)
            print('precision: %s' % (precision), 'recall: %s' % (recall),
                  'f1score: %s' % (f1score))
        except ZeroDivisionError:
            print('precision: %s' % 0, 'recall: %s' % 0)

    KAPPA_3D_DenseNet.append(kappa)
    OA_3D_DenseNet.append(overall_acc)
    AA_3D_DenseNet.append(average_acc)
    # TRAINING_TIME_3D_DenseNet.append(toc6 - tic6)
    # TESTING_TIME_3D_DenseNet.append(toc7 - tic7)
    ELEMENT_ACC_3D_DenseNet[index_iter, :] = each_acc

    print("3D DenseNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_3D_DenseNet, OA_3D_DenseNet, AA_3D_DenseNet, ELEMENT_ACC_3D_DenseNet,
    CATEGORY,
    'D:/3D-TwoStep-Network/records/KSC_test_ResNeXt_TwoStepAttention_5_1_4_60_1.txt',
    'D:/3D-TwoStep-Network/records/KSC_test_element_ResNeXt_TwoStepAttention_5_1_4_60_1.txt'
)
Esempio n. 11
0
    model_densenet = model_DenseNet()

    model_densenet.load_weights(best_weights_DenseNet_path)

    pred_test = model_densenet.predict(
        x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2],
                       x_test.shape[3], 1)).argmax(axis=1)
    collections.Counter(pred_test)
    gt_test = gt[test_indices] - 1
    overall_acc = metrics.accuracy_score(pred_test, gt_test[:-VAL_SIZE])
    confusion_matrix = metrics.confusion_matrix(pred_test, gt_test[:-VAL_SIZE])
    each_acc, average_acc = averageAccuracy.AA_andEachClassAccuracy(
        confusion_matrix)
    kappa = metrics.cohen_kappa_score(pred_test, gt_test[:-VAL_SIZE])
    KAPPA_3D_DenseNet.append(kappa)
    OA_3D_DenseNet.append(overall_acc)
    AA_3D_DenseNet.append(average_acc)
    # TRAINING_TIME_3D_DenseNet.append(toc6 - tic6)
    # TESTING_TIME_3D_DenseNet.append(toc7 - tic7)
    ELEMENT_ACC_3D_DenseNet[index_iter, :] = each_acc

    print("3D DenseNet  finished.")
    print("# %d Iteration" % (index_iter + 1))

modelStatsRecord.outputStats_assess(
    KAPPA_3D_DenseNet, OA_3D_DenseNet, AA_3D_DenseNet, ELEMENT_ACC_3D_DenseNet,
    CATEGORY,
    'D:/Tensorflow  Learning/3D-DenseNet-Hyperspectral/records-up-3dcnn/UP_test_3D.txt',
    'D:/Tensorflow  Learning/3D-DenseNet-Hyperspectral/records-up-3dcnn/UP_test_element_3D.txt'
)