高光谱论文模型代码复现(一)

it2026-03-13  3

Hyperspectral Imagery Classification Based on Compressed Convolutional Neural Network网络模型复现

论文地址:高光谱论文分析(三)

数据集:Indian pines

运行环境:jupyter notebook

tensorflow:2.3

""" 作者:zyy """ import keras from keras.layers import Conv2D, Conv3D, Flatten, Dense, MaxPooling2D,Reshape, BatchNormalization from keras.layers import Dropout, Input,Lambda from keras.models import Model from keras.optimizers import Adam from keras.callbacks import ModelCheckpoint from keras.utils import np_utils from sklearn.decomposition import PCA from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix, accuracy_score, classification_report, cohen_kappa_score import random from operator import truediv from plotly.offline import init_notebook_mode import numpy as np import matplotlib.pyplot as plt %matplotlib inline import scipy.io as sio import os import spectral import glob from sklearn.preprocessing import MinMaxScaler def loadData(): data_path=os.path.join(r'D:\Program Files (x86)\Anaconda\jupyter_file_path','data') data_path data=sio.loadmat(os.path.join(data_path, 'Indian_pines_corrected.mat'))['indian_pines_corrected'] labels=sio.loadmat(os.path.join(data_path,'Indian_pines_gt.mat'))['indian_pines_gt'] return data,labels x,y=loadData() x=x.reshape((-1,200)) #压缩尺寸x.shape=(21025,200),方便进行归一化 transfer=MinMaxScaler() #进行归一化操作 x=transfer.fit_transform(x) x=x.reshape((145,145,200)) #将尺寸还原成(145,145,200) def pca_change(X,num_components): newX=np.reshape(X,(-1,X.shape[2])) pca=PCA(n_components=num_components,whiten=True) newX=pca.fit_transform(newX) newX=np.reshape(newX,(X.shape[0],X.shape[1],num_components)) return newX x=pca_change(x,3) #尺寸压缩为(145,145,3) def padwithzeros(X,margin=2): newX=np.zeros((X.shape[0]+2*margin,X.shape[1]+2*margin,X.shape[2])) x_offset=margin y_offset=margin newX[x_offset:X.shape[0]+x_offset,y_offset:X.shape[1]+y_offset,:]=X return newX def creatCube(X,y,windowsize=25,removeZeroLabels=True): margin=int((windowsize-1)/2) #margin=12 zeroPaddedX=padwithzeros(X,margin=margin) patchesData=np.zeros((X.shape[0]*X.shape[1],windowsize,windowsize,X.shape[2])) #(145*145,25,25,30) patchesLabels=np.zeros(X.shape[0]*X.shape[1]) patchIndex=0 for r in range(margin,zeroPaddedX.shape[0]-margin): #(12,145-12)=(12,132) for c in range(margin,zeroPaddedX.shape[1]-margin): #(12,145-12)=(12,132) patch=zeroPaddedX[r-margin:r+margin+1,c-margin:c+margin+1] patchesData[patchIndex,:,:,:]=patch patchesLabels[patchIndex]=y[r-margin,c-margin] patchIndex=patchIndex+1 if removeZeroLabels: patchesData=patchesData[patchesLabels>0,:,:,:] patchesLabels=patchesLabels[patchesLabels>0] patchesLabels-=1 return patchesData,patchesLabels x,y=creatCube(x,y,windowsize=27) #打包成Cube x.shape,y.shape ((10249, 27, 27, 3), (10249,)) y=np_utils.to_categorical(y) y.shape (10249, 16) def virtual_sample(): virtual_x=np.zeros((30747,27,27,3)) for i in range(30747): virtual_x[:,:,:,:]=(0.6*x[random.randint(0,10248),:,:,:]+0.4*x[random.randint(0,10248),:,:,:]) return virtual_x virtual_x=virtual_sample() virtual_x.shape (30747, 27, 27, 3) input_layer_teacher=Input((27,27,3)) def teacher_net(input_layer): conv_1=Conv2D(filters=12,kernel_size=(4,4),activation='relu')(input_layer) max_1=MaxPooling2D(pool_size=(2,2))(conv_1) conv_2=Conv2D(filters=24,kernel_size=(5,5),activation='relu')(max_1) max_2=MaxPooling2D(pool_size=(2,2))(conv_2) conv_3=Conv2D(filters=48,kernel_size=(3,3),activation='relu')(max_2) flatten_layer=Flatten()(conv_3) dense_layer=Dense(units=16,activation='softmax')(flatten_layer) return dense_layer out_layer_teacher=teacher_net(input_layer_teacher) model_teacher=Model(inputs=input_layer_teacher,outputs=out_layer_teacher) model_teacher.summary() Model: "model" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) [(None, 27, 27, 3)] 0 _________________________________________________________________ conv2d (Conv2D) (None, 24, 24, 12) 588 _________________________________________________________________ max_pooling2d (MaxPooling2D) (None, 12, 12, 12) 0 _________________________________________________________________ conv2d_1 (Conv2D) (None, 8, 8, 24) 7224 _________________________________________________________________ max_pooling2d_1 (MaxPooling2 (None, 4, 4, 24) 0 _________________________________________________________________ conv2d_2 (Conv2D) (None, 2, 2, 48) 10416 _________________________________________________________________ flatten (Flatten) (None, 192) 0 _________________________________________________________________ dense (Dense) (None, 16) 3088 ================================================================= Total params: 21,316 Trainable params: 21,316 Non-trainable params: 0 _________________________________________________________________ adam=Adam(lr=0.001) model_teacher.compile(loss='categorical_crossentropy',optimizer=adam,metrics=['accuracy']) filepath='teacher_net.hdf5' checkpoint=ModelCheckpoint(filepath,monitor='loss',verbose=1,save_best_only=True, mode='min') callback_list_teacher=[checkpoint] history_teacher=model_teacher.fit(x,y,batch_size=256,epochs=100,callbacks=callback_list_teacher) Epoch 1/100 41/41 [==============================] - ETA: 0s - loss: 1.6255 - accuracy: 0.4769 Epoch 00001: loss improved from inf to 1.62548, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 10ms/step - loss: 1.6255 - accuracy: 0.4769 Epoch 2/100 31/41 [=====================>........] - ETA: 0s - loss: 0.6562 - accuracy: 0.7886 Epoch 00002: loss improved from 1.62548 to 0.59950, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.5995 - accuracy: 0.8078 Epoch 3/100 33/41 [=======================>......] - ETA: 0s - loss: 0.2712 - accuracy: 0.9233 Epoch 00003: loss improved from 0.59950 to 0.25332, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.2533 - accuracy: 0.9294 Epoch 4/100 33/41 [=======================>......] - ETA: 0s - loss: 0.1415 - accuracy: 0.9620 Epoch 00004: loss improved from 0.25332 to 0.13251, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.1325 - accuracy: 0.9649 Epoch 5/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0654 - accuracy: 0.9857 Epoch 00005: loss improved from 0.13251 to 0.06235, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0623 - accuracy: 0.9866 Epoch 6/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0420 - accuracy: 0.9931 Epoch 00006: loss improved from 0.06235 to 0.04038, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0404 - accuracy: 0.9936 Epoch 7/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0321 - accuracy: 0.9937 Epoch 00007: loss improved from 0.04038 to 0.03170, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0317 - accuracy: 0.9939 Epoch 8/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0203 - accuracy: 0.9973 Epoch 00008: loss improved from 0.03170 to 0.02080, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0208 - accuracy: 0.9973 Epoch 9/100 31/41 [=====================>........] - ETA: 0s - loss: 0.0182 - accuracy: 0.9967 Epoch 00009: loss improved from 0.02080 to 0.01726, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0173 - accuracy: 0.9971 Epoch 10/100 32/41 [======================>.......] - ETA: 0s - loss: 0.0126 - accuracy: 0.9985 Epoch 00010: loss improved from 0.01726 to 0.01263, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0126 - accuracy: 0.9983 Epoch 11/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0114 - accuracy: 0.9985 Epoch 00011: loss improved from 0.01263 to 0.01089, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0109 - accuracy: 0.9987 Epoch 12/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0076 - accuracy: 0.9995 Epoch 00012: loss improved from 0.01089 to 0.00753, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0075 - accuracy: 0.9995 Epoch 13/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0053 - accuracy: 0.9998 Epoch 00013: loss improved from 0.00753 to 0.00523, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0052 - accuracy: 0.9997 Epoch 14/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0245 - accuracy: 0.9943 Epoch 00014: loss did not improve from 0.00523 41/41 [==============================] - 0s 3ms/step - loss: 0.0219 - accuracy: 0.9950 Epoch 15/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0119 - accuracy: 0.9982 Epoch 00015: loss did not improve from 0.00523 41/41 [==============================] - 0s 3ms/step - loss: 0.0115 - accuracy: 0.9981 Epoch 16/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0081 - accuracy: 0.9988 Epoch 00016: loss did not improve from 0.00523 41/41 [==============================] - 0s 3ms/step - loss: 0.0075 - accuracy: 0.9990 Epoch 17/100 32/41 [======================>.......] - ETA: 0s - loss: 0.0059 - accuracy: 0.9988 Epoch 00017: loss did not improve from 0.00523 41/41 [==============================] - 0s 3ms/step - loss: 0.0058 - accuracy: 0.9988 Epoch 18/100 34/41 [=======================>......] - ETA: 0s - loss: 0.0042 - accuracy: 0.9995 Epoch 00018: loss improved from 0.00523 to 0.00389, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 0.0039 - accuracy: 0.9996 Epoch 19/100 34/41 [=======================>......] - ETA: 0s - loss: 0.0030 - accuracy: 0.9995 Epoch 00019: loss improved from 0.00389 to 0.00297, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 0.0030 - accuracy: 0.9995 Epoch 20/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0025 - accuracy: 1.0000 Epoch 00020: loss improved from 0.00297 to 0.00238, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 0.0024 - accuracy: 1.0000 Epoch 21/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0017 - accuracy: 1.0000 Epoch 00021: loss improved from 0.00238 to 0.00231, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 0.0023 - accuracy: 0.9996 Epoch 22/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0024 - accuracy: 0.9995 Epoch 00022: loss did not improve from 0.00231 41/41 [==============================] - 0s 3ms/step - loss: 0.0025 - accuracy: 0.9996 Epoch 23/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0041 - accuracy: 0.9989 Epoch 00023: loss did not improve from 0.00231 41/41 [==============================] - 0s 3ms/step - loss: 0.0040 - accuracy: 0.9989 Epoch 24/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0019 - accuracy: 0.9996 Epoch 00024: loss improved from 0.00231 to 0.00201, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 0.0020 - accuracy: 0.9996 Epoch 25/100 32/41 [======================>.......] - ETA: 0s - loss: 0.0055 - accuracy: 0.9987 Epoch 00025: loss did not improve from 0.00201 41/41 [==============================] - 0s 3ms/step - loss: 0.0074 - accuracy: 0.9980 Epoch 26/100 34/41 [=======================>......] - ETA: 0s - loss: 0.0062 - accuracy: 0.9986 Epoch 00026: loss did not improve from 0.00201 41/41 [==============================] - 0s 3ms/step - loss: 0.0056 - accuracy: 0.9988 Epoch 27/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0023 - accuracy: 0.9996 Epoch 00027: loss did not improve from 0.00201 41/41 [==============================] - 0s 3ms/step - loss: 0.0024 - accuracy: 0.9996 Epoch 28/100 34/41 [=======================>......] - ETA: 0s - loss: 0.0022 - accuracy: 0.9998 Epoch 00028: loss did not improve from 0.00201 41/41 [==============================] - 0s 3ms/step - loss: 0.0020 - accuracy: 0.9998 Epoch 29/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0011 - accuracy: 1.0000 Epoch 00029: loss improved from 0.00201 to 0.00107, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 0.0011 - accuracy: 1.0000 Epoch 30/100 33/41 [=======================>......] - ETA: 0s - loss: 7.8785e-04 - accuracy: 1.0000 Epoch 00030: loss improved from 0.00107 to 0.00073, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 7.3057e-04 - accuracy: 1.0000 Epoch 31/100 34/41 [=======================>......] - ETA: 0s - loss: 7.7978e-04 - accuracy: 1.0000 Epoch 00031: loss did not improve from 0.00073 41/41 [==============================] - 0s 3ms/step - loss: 7.7842e-04 - accuracy: 1.0000 Epoch 32/100 34/41 [=======================>......] - ETA: 0s - loss: 7.5718e-04 - accuracy: 1.0000 Epoch 00032: loss did not improve from 0.00073 41/41 [==============================] - 0s 3ms/step - loss: 9.7378e-04 - accuracy: 0.9999 Epoch 33/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0019 - accuracy: 0.9996 Epoch 00033: loss did not improve from 0.00073 41/41 [==============================] - 0s 3ms/step - loss: 0.0021 - accuracy: 0.9996 Epoch 34/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0032 - accuracy: 0.9991 Epoch 00034: loss did not improve from 0.00073 41/41 [==============================] - 0s 3ms/step - loss: 0.0028 - accuracy: 0.9992 Epoch 35/100 33/41 [=======================>......] - ETA: 0s - loss: 5.9609e-04 - accuracy: 1.0000 Epoch 00035: loss improved from 0.00073 to 0.00063, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 6.2652e-04 - accuracy: 1.0000 Epoch 36/100 34/41 [=======================>......] - ETA: 0s - loss: 8.2423e-04 - accuracy: 0.9998 Epoch 00036: loss did not improve from 0.00063 41/41 [==============================] - 0s 3ms/step - loss: 8.8440e-04 - accuracy: 0.9997 Epoch 37/100 34/41 [=======================>......] - ETA: 0s - loss: 4.5017e-04 - accuracy: 1.0000 Epoch 00037: loss improved from 0.00063 to 0.00044, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 4.3708e-04 - accuracy: 1.0000 Epoch 38/100 32/41 [======================>.......] - ETA: 0s - loss: 3.2148e-04 - accuracy: 1.0000 Epoch 00038: loss improved from 0.00044 to 0.00032, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 3.2189e-04 - accuracy: 1.0000 Epoch 39/100 30/41 [====================>.........] - ETA: 0s - loss: 2.9678e-04 - accuracy: 1.0000 Epoch 00039: loss improved from 0.00032 to 0.00030, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 2.9958e-04 - accuracy: 1.0000 Epoch 40/100 33/41 [=======================>......] - ETA: 0s - loss: 2.8654e-04 - accuracy: 1.0000 Epoch 00040: loss improved from 0.00030 to 0.00027, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 2.7441e-04 - accuracy: 1.0000 Epoch 41/100 32/41 [======================>.......] - ETA: 0s - loss: 2.5130e-04 - accuracy: 1.0000 Epoch 00041: loss improved from 0.00027 to 0.00027, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 2.6777e-04 - accuracy: 1.0000 Epoch 42/100 34/41 [=======================>......] - ETA: 0s - loss: 2.5051e-04 - accuracy: 1.0000 Epoch 00042: loss improved from 0.00027 to 0.00025, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 2.4973e-04 - accuracy: 1.0000 Epoch 43/100 33/41 [=======================>......] - ETA: 0s - loss: 2.2876e-04 - accuracy: 1.0000 Epoch 00043: loss improved from 0.00025 to 0.00024, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 2.3882e-04 - accuracy: 1.0000 Epoch 44/100 33/41 [=======================>......] - ETA: 0s - loss: 2.2173e-04 - accuracy: 1.0000 Epoch 00044: loss improved from 0.00024 to 0.00023, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 2.3061e-04 - accuracy: 1.0000 Epoch 45/100 34/41 [=======================>......] - ETA: 0s - loss: 2.4359e-04 - accuracy: 1.0000 Epoch 00045: loss did not improve from 0.00023 41/41 [==============================] - 0s 3ms/step - loss: 2.3525e-04 - accuracy: 1.0000 Epoch 46/100 34/41 [=======================>......] - ETA: 0s - loss: 2.2402e-04 - accuracy: 1.0000 Epoch 00046: loss improved from 0.00023 to 0.00021, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 2.1444e-04 - accuracy: 1.0000 Epoch 47/100 33/41 [=======================>......] - ETA: 0s - loss: 1.9105e-04 - accuracy: 1.0000 Epoch 00047: loss improved from 0.00021 to 0.00019, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.9137e-04 - accuracy: 1.0000 Epoch 48/100 33/41 [=======================>......] - ETA: 0s - loss: 1.9327e-04 - accuracy: 1.0000 Epoch 00048: loss improved from 0.00019 to 0.00019, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.8723e-04 - accuracy: 1.0000 Epoch 49/100 33/41 [=======================>......] - ETA: 0s - loss: 1.9310e-04 - accuracy: 1.0000 Epoch 00049: loss did not improve from 0.00019 41/41 [==============================] - 0s 3ms/step - loss: 1.8765e-04 - accuracy: 1.0000 Epoch 50/100 33/41 [=======================>......] - ETA: 0s - loss: 1.7380e-04 - accuracy: 1.0000 Epoch 00050: loss improved from 0.00019 to 0.00018, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.7677e-04 - accuracy: 1.0000 Epoch 51/100 34/41 [=======================>......] - ETA: 0s - loss: 1.6674e-04 - accuracy: 1.0000 Epoch 00051: loss improved from 0.00018 to 0.00017, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.6595e-04 - accuracy: 1.0000 Epoch 52/100 33/41 [=======================>......] - ETA: 0s - loss: 1.6894e-04 - accuracy: 1.0000 Epoch 00052: loss did not improve from 0.00017 41/41 [==============================] - 0s 3ms/step - loss: 1.7346e-04 - accuracy: 1.0000 Epoch 53/100 34/41 [=======================>......] - ETA: 0s - loss: 1.5603e-04 - accuracy: 1.0000 Epoch 00053: loss improved from 0.00017 to 0.00016, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.6110e-04 - accuracy: 1.0000 Epoch 54/100 32/41 [======================>.......] - ETA: 0s - loss: 1.5376e-04 - accuracy: 1.0000 Epoch 00054: loss improved from 0.00016 to 0.00015, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.5387e-04 - accuracy: 1.0000 Epoch 55/100 34/41 [=======================>......] - ETA: 0s - loss: 1.3969e-04 - accuracy: 1.0000 Epoch 00055: loss improved from 0.00015 to 0.00014, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.4269e-04 - accuracy: 1.0000 Epoch 56/100 33/41 [=======================>......] - ETA: 0s - loss: 1.4784e-04 - accuracy: 1.0000 Epoch 00056: loss improved from 0.00014 to 0.00014, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.4206e-04 - accuracy: 1.0000 Epoch 57/100 33/41 [=======================>......] - ETA: 0s - loss: 1.2848e-04 - accuracy: 1.0000 Epoch 00057: loss improved from 0.00014 to 0.00013, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.3081e-04 - accuracy: 1.0000 Epoch 58/100 33/41 [=======================>......] - ETA: 0s - loss: 1.3076e-04 - accuracy: 1.0000 Epoch 00058: loss improved from 0.00013 to 0.00013, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.2582e-04 - accuracy: 1.0000 Epoch 59/100 33/41 [=======================>......] - ETA: 0s - loss: 1.1894e-04 - accuracy: 1.0000 Epoch 00059: loss improved from 0.00013 to 0.00012, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.2434e-04 - accuracy: 1.0000 Epoch 60/100 34/41 [=======================>......] - ETA: 0s - loss: 1.3551e-04 - accuracy: 1.0000 Epoch 00060: loss did not improve from 0.00012 41/41 [==============================] - 0s 3ms/step - loss: 1.3077e-04 - accuracy: 1.0000 Epoch 61/100 34/41 [=======================>......] - ETA: 0s - loss: 1.1535e-04 - accuracy: 1.0000 Epoch 00061: loss improved from 0.00012 to 0.00011, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.1429e-04 - accuracy: 1.0000 Epoch 62/100 33/41 [=======================>......] - ETA: 0s - loss: 9.9714e-05 - accuracy: 1.0000 Epoch 00062: loss improved from 0.00011 to 0.00011, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 1.0790e-04 - accuracy: 1.0000 Epoch 63/100 34/41 [=======================>......] - ETA: 0s - loss: 1.0468e-04 - accuracy: 1.0000 Epoch 00063: loss did not improve from 0.00011 41/41 [==============================] - 0s 3ms/step - loss: 1.0849e-04 - accuracy: 1.0000 Epoch 64/100 33/41 [=======================>......] - ETA: 0s - loss: 1.0488e-04 - accuracy: 1.0000 Epoch 00064: loss improved from 0.00011 to 0.00010, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 1.0069e-04 - accuracy: 1.0000 Epoch 65/100 33/41 [=======================>......] - ETA: 0s - loss: 1.0209e-04 - accuracy: 1.0000 Epoch 00065: loss did not improve from 0.00010 41/41 [==============================] - 0s 3ms/step - loss: 1.0098e-04 - accuracy: 1.0000 Epoch 66/100 34/41 [=======================>......] - ETA: 0s - loss: 8.8909e-05 - accuracy: 1.0000 Epoch 00066: loss improved from 0.00010 to 0.00010, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 3ms/step - loss: 9.5907e-05 - accuracy: 1.0000 Epoch 67/100 34/41 [=======================>......] - ETA: 0s - loss: 1.0312e-04 - accuracy: 1.0000 Epoch 00067: loss did not improve from 0.00010 41/41 [==============================] - 0s 3ms/step - loss: 1.0743e-04 - accuracy: 1.0000 Epoch 68/100 34/41 [=======================>......] - ETA: 0s - loss: 9.8141e-05 - accuracy: 1.0000 Epoch 00068: loss did not improve from 0.00010 41/41 [==============================] - 0s 3ms/step - loss: 9.8493e-05 - accuracy: 1.0000 Epoch 69/100 33/41 [=======================>......] - ETA: 0s - loss: 1.0156e-04 - accuracy: 1.0000 Epoch 00069: loss did not improve from 0.00010 41/41 [==============================] - 0s 3ms/step - loss: 9.7433e-05 - accuracy: 1.0000 Epoch 70/100 33/41 [=======================>......] - ETA: 0s - loss: 9.2217e-05 - accuracy: 1.0000 Epoch 00070: loss improved from 0.00010 to 0.00009, saving model to teacher_net.hdf5 41/41 [==============================] - 0s 4ms/step - loss: 9.1468e-05 - accuracy: 1.0000 Epoch 71/100 34/41 [=======================>......] - ETA: 0s - loss: 9.4165e-05 - accuracy: 1.0000 Epoch 00071: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 9.8630e-05 - accuracy: 1.0000 Epoch 72/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0236 - accuracy: 0.9928 Epoch 00072: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 0.0550 - accuracy: 0.9855 Epoch 73/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0600 - accuracy: 0.9826 Epoch 00073: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 0.0522 - accuracy: 0.9854 Epoch 74/100 34/41 [=======================>......] - ETA: 0s - loss: 0.0095 - accuracy: 0.9974 Epoch 00074: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 0.0089 - accuracy: 0.9977 Epoch 75/100 34/41 [=======================>......] - ETA: 0s - loss: 0.0020 - accuracy: 0.9997 Epoch 00075: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 0.0019 - accuracy: 0.9997 Epoch 76/100 33/41 [=======================>......] - ETA: 0s - loss: 0.0013 - accuracy: 0.9998 ETA: 0s - loss: 8.1989e-04 - accuracy: 1.00 Epoch 00076: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 0.0014 - accuracy: 0.9997 Epoch 77/100 32/41 [======================>.......] - ETA: 0s - loss: 9.9051e-04 - accuracy: 1.0000 Epoch 00077: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 9.5474e-04 - accuracy: 1.0000 Epoch 78/100 33/41 [=======================>......] - ETA: 0s - loss: 4.5655e-04 - accuracy: 1.0000 Epoch 00078: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 4.4562e-04 - accuracy: 1.0000 Epoch 79/100 34/41 [=======================>......] - ETA: 0s - loss: 3.9792e-04 - accuracy: 1.0000 Epoch 00079: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 3.9663e-04 - accuracy: 1.0000 Epoch 80/100 33/41 [=======================>......] - ETA: 0s - loss: 4.4348e-04 - accuracy: 1.0000 Epoch 00080: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 4.5666e-04 - accuracy: 1.0000 Epoch 81/100 32/41 [======================>.......] - ETA: 0s - loss: 3.1573e-04 - accuracy: 1.0000 Epoch 00081: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 3.5620e-04 - accuracy: 1.0000 Epoch 82/100 33/41 [=======================>......] - ETA: 0s - loss: 2.7257e-04 - accuracy: 1.0000 Epoch 00082: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 2.9009e-04 - accuracy: 1.0000 Epoch 83/100 33/41 [=======================>......] - ETA: 0s - loss: 2.3723e-04 - accuracy: 1.0000 Epoch 00083: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 2.5575e-04 - accuracy: 1.0000 Epoch 84/100 33/41 [=======================>......] - ETA: 0s - loss: 2.1368e-04 - accuracy: 1.0000 Epoch 00084: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 2.3852e-04 - accuracy: 1.0000 Epoch 85/100 33/41 [=======================>......] - ETA: 0s - loss: 2.2990e-04 - accuracy: 1.0000 Epoch 00085: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 2.2159e-04 - accuracy: 1.0000 Epoch 86/100 33/41 [=======================>......] - ETA: 0s - loss: 1.9742e-04 - accuracy: 1.0000 Epoch 00086: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.9453e-04 - accuracy: 1.0000 Epoch 87/100 33/41 [=======================>......] - ETA: 0s - loss: 1.7520e-04 - accuracy: 1.0000 Epoch 00087: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.8299e-04 - accuracy: 1.0000 Epoch 88/100 33/41 [=======================>......] - ETA: 0s - loss: 1.6752e-04 - accuracy: 1.0000 Epoch 00088: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.7199e-04 - accuracy: 1.0000 Epoch 89/100 31/41 [=====================>........] - ETA: 0s - loss: 1.7547e-04 - accuracy: 1.0000 Epoch 00089: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.7492e-04 - accuracy: 1.0000 Epoch 90/100 31/41 [=====================>........] - ETA: 0s - loss: 1.6318e-04 - accuracy: 1.0000 Epoch 00090: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.5094e-04 - accuracy: 1.0000 Epoch 91/100 33/41 [=======================>......] - ETA: 0s - loss: 1.4457e-04 - accuracy: 1.0000 Epoch 00091: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.4732e-04 - accuracy: 1.0000 Epoch 92/100 32/41 [======================>.......] - ETA: 0s - loss: 1.5193e-04 - accuracy: 1.0000 Epoch 00092: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.3873e-04 - accuracy: 1.0000 Epoch 93/100 33/41 [=======================>......] - ETA: 0s - loss: 1.3293e-04 - accuracy: 1.0000 Epoch 00093: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.2892e-04 - accuracy: 1.0000 Epoch 94/100 33/41 [=======================>......] - ETA: 0s - loss: 1.3106e-04 - accuracy: 1.0000 Epoch 00094: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.2393e-04 - accuracy: 1.0000 Epoch 95/100 33/41 [=======================>......] - ETA: 0s - loss: 1.1496e-04 - accuracy: 1.0000 Epoch 00095: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.1787e-04 - accuracy: 1.0000 Epoch 96/100 33/41 [=======================>......] - ETA: 0s - loss: 1.0462e-04 - accuracy: 1.0000 Epoch 00096: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.0775e-04 - accuracy: 1.0000 Epoch 97/100 33/41 [=======================>......] - ETA: 0s - loss: 1.0392e-04 - accuracy: 1.0000 Epoch 00097: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 1.0435e-04 - accuracy: 1.0000 Epoch 98/100 33/41 [=======================>......] - ETA: 0s - loss: 9.9499e-05 - accuracy: 1.0000 Epoch 00098: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 9.7685e-05 - accuracy: 1.0000 Epoch 99/100 33/41 [=======================>......] - ETA: 0s - loss: 9.3163e-05 - accuracy: 1.0000 Epoch 00099: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 9.4179e-05 - accuracy: 1.0000 Epoch 100/100 33/41 [=======================>......] - ETA: 0s - loss: 2.8927e-04 - accuracy: 0.9999 Epoch 00100: loss did not improve from 0.00009 41/41 [==============================] - 0s 3ms/step - loss: 2.6165e-04 - accuracy: 0.9999 virtual_y=model_teacher.predict(virtual_x) virtual_y.shape (30747, 16) #将原始数据和虚拟样本融合 X_TOTAL=np.vstack((virtual_x,x)) Y_TOTAL=np.vstack((virtual_y,y)) X_TOTAL.shape,Y_TOTAL.shape ((40996, 27, 27, 3), (40996, 16)) def splitTrainTest(X,y,Ratio,randoms=2019): X_train,X_test,Y_train,Y_test=train_test_split(X,y,test_size=Ratio,random_state=randoms, stratify=y) return X_train,X_test,Y_train,Y_test #划分训练集和测试集 X_TOTAL_train,X_TOTAL_test,Y_TOTAL_train,Y_TOTAL_test=splitTrainTest(X_TOTAL,Y_TOTAL,0.9) X_TOTAL_train.shape,X_TOTAL_test.shape,Y_TOTAL_train.shape,Y_TOTAL_test.shape ((4099, 27, 27, 3), (36897, 27, 27, 3), (4099, 16), (36897, 16)) input_layer_student=Input((27,27,3)) def student_net(input_layer): conv_1=Conv2D(filters=12,kernel_size=(4,4),activation='relu')(input_layer) max_1=MaxPooling2D(pool_size=(2,2))(conv_1) conv_2=Conv2D(filters=24,kernel_size=(5,5),activation='relu')(max_1) max_2=MaxPooling2D(pool_size=(2,2))(conv_2) conv_3=Conv2D(filters=48,kernel_size=(3,3),activation='relu')(max_2) flatten_layer=Flatten()(conv_3) dense_layer=Dense(units=16,activation='softmax')(flatten_layer) return dense_layer out_layer_student=student_net(input_layer_student) model_student=Model(inputs=input_layer_student,outputs=out_layer_student) model_student.summary() Model: "model_1" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input_2 (InputLayer) [(None, 27, 27, 3)] 0 _________________________________________________________________ conv2d_3 (Conv2D) (None, 24, 24, 12) 588 _________________________________________________________________ max_pooling2d_2 (MaxPooling2 (None, 12, 12, 12) 0 _________________________________________________________________ conv2d_4 (Conv2D) (None, 8, 8, 24) 7224 _________________________________________________________________ max_pooling2d_3 (MaxPooling2 (None, 4, 4, 24) 0 _________________________________________________________________ conv2d_5 (Conv2D) (None, 2, 2, 48) 10416 _________________________________________________________________ flatten_1 (Flatten) (None, 192) 0 _________________________________________________________________ dense_1 (Dense) (None, 16) 3088 ================================================================= Total params: 21,316 Trainable params: 21,316 Non-trainable params: 0 _________________________________________________________________ adam=Adam(lr=0.001) model_student.compile(loss='categorical_crossentropy',optimizer=adam,metrics=['accuracy']) filepath='student_net.hdf5' checkpoint=ModelCheckpoint(filepath,monitor='loss',verbose=1,save_best_only=True, mode='min') callback_list_student=[checkpoint] history_stu=model_student.fit(X_TOTAL_train,Y_TOTAL_train,batch_size=256,epochs=100,callbacks=callback_list_student) Epoch 1/100 17/17 [==============================] - ETA: 0s - loss: 1.4930 - accuracy: 0.6765 Epoch 00001: loss improved from inf to 1.49304, saving model to student_net.hdf5 17/17 [==============================] - 0s 12ms/step - loss: 1.4930 - accuracy: 0.6765 Epoch 2/100 16/17 [===========================>..] - ETA: 0s - loss: 0.5773 - accuracy: 0.8325 Epoch 00002: loss improved from 1.49304 to 0.57732, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.5773 - accuracy: 0.8326 Epoch 3/100 16/17 [===========================>..] - ETA: 0s - loss: 0.4348 - accuracy: 0.8494 Epoch 00003: loss improved from 0.57732 to 0.43452, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.4345 - accuracy: 0.8495 Epoch 4/100 16/17 [===========================>..] - ETA: 0s - loss: 0.3330 - accuracy: 0.8845 Epoch 00004: loss improved from 0.43452 to 0.33324, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.3332 - accuracy: 0.8844 Epoch 5/100 16/17 [===========================>..] - ETA: 0s - loss: 0.2963 - accuracy: 0.8953 Epoch 00005: loss improved from 0.33324 to 0.29607, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.2961 - accuracy: 0.8953 Epoch 6/100 16/17 [===========================>..] - ETA: 0s - loss: 0.2383 - accuracy: 0.9226 Epoch 00006: loss improved from 0.29607 to 0.23837, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.2384 - accuracy: 0.9227 Epoch 7/100 16/17 [===========================>..] - ETA: 0s - loss: 0.2008 - accuracy: 0.9312 Epoch 00007: loss improved from 0.23837 to 0.20067, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.2007 - accuracy: 0.9312 Epoch 8/100 16/17 [===========================>..] - ETA: 0s - loss: 0.1643 - accuracy: 0.9443 Epoch 00008: loss improved from 0.20067 to 0.16419, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.1642 - accuracy: 0.9444 Epoch 9/100 16/17 [===========================>..] - ETA: 0s - loss: 0.1378 - accuracy: 0.9531 Epoch 00009: loss improved from 0.16419 to 0.13767, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.1377 - accuracy: 0.9532 Epoch 10/100 16/17 [===========================>..] - ETA: 0s - loss: 0.1151 - accuracy: 0.9673 Epoch 00010: loss improved from 0.13767 to 0.11579, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.1158 - accuracy: 0.9671 Epoch 11/100 15/17 [=========================>....] - ETA: 0s - loss: 0.1686 - accuracy: 0.9401 Epoch 00011: loss did not improve from 0.11579 17/17 [==============================] - 0s 4ms/step - loss: 0.1639 - accuracy: 0.9422 Epoch 12/100 16/17 [===========================>..] - ETA: 0s - loss: 0.1114 - accuracy: 0.9656 Epoch 00012: loss improved from 0.11579 to 0.11133, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.1113 - accuracy: 0.9656 Epoch 13/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0854 - accuracy: 0.9756 Epoch 00013: loss improved from 0.11133 to 0.08539, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0854 - accuracy: 0.9756 Epoch 14/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0740 - accuracy: 0.9773 Epoch 00014: loss improved from 0.08539 to 0.07267, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0727 - accuracy: 0.9783 Epoch 15/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0679 - accuracy: 0.9810 Epoch 00015: loss improved from 0.07267 to 0.06846, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0685 - accuracy: 0.9807 Epoch 16/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0544 - accuracy: 0.9857 Epoch 00016: loss improved from 0.06846 to 0.05588, saving model to student_net.hdf5 17/17 [==============================] - 0s 5ms/step - loss: 0.0559 - accuracy: 0.9839 Epoch 17/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0478 - accuracy: 0.9883 Epoch 00017: loss improved from 0.05588 to 0.04806, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0481 - accuracy: 0.9888 Epoch 18/100 15/17 [=========================>....] - ETA: 0s - loss: 0.1769 - accuracy: 0.9490 Epoch 00018: loss did not improve from 0.04806 17/17 [==============================] - 0s 4ms/step - loss: 0.1708 - accuracy: 0.9495 Epoch 19/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0905 - accuracy: 0.9727 Epoch 00019: loss did not improve from 0.04806 17/17 [==============================] - 0s 4ms/step - loss: 0.0877 - accuracy: 0.9741 Epoch 20/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0599 - accuracy: 0.9846 Epoch 00020: loss did not improve from 0.04806 17/17 [==============================] - 0s 4ms/step - loss: 0.0588 - accuracy: 0.9851 Epoch 21/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0447 - accuracy: 0.9895 Epoch 00021: loss improved from 0.04806 to 0.04472, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0447 - accuracy: 0.9895 Epoch 22/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0364 - accuracy: 0.9924 Epoch 00022: loss improved from 0.04472 to 0.03529, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0353 - accuracy: 0.9927 Epoch 23/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0298 - accuracy: 0.9927 Epoch 00023: loss improved from 0.03529 to 0.02952, saving model to student_net.hdf5 17/17 [==============================] - 0s 5ms/step - loss: 0.0295 - accuracy: 0.9927 Epoch 24/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0307 - accuracy: 0.9930 Epoch 00024: loss did not improve from 0.02952 17/17 [==============================] - 0s 4ms/step - loss: 0.0306 - accuracy: 0.9929 Epoch 25/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0256 - accuracy: 0.9940 Epoch 00025: loss improved from 0.02952 to 0.02515, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0252 - accuracy: 0.9944 Epoch 26/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0215 - accuracy: 0.9958 Epoch 00026: loss improved from 0.02515 to 0.02147, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0215 - accuracy: 0.9959 Epoch 27/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0179 - accuracy: 0.9971 Epoch 00027: loss improved from 0.02147 to 0.01736, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0174 - accuracy: 0.9973 Epoch 28/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0163 - accuracy: 0.9971 Epoch 00028: loss improved from 0.01736 to 0.01602, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0160 - accuracy: 0.9971 Epoch 29/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0148 - accuracy: 0.9980 Epoch 00029: loss improved from 0.01602 to 0.01483, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0148 - accuracy: 0.9980 Epoch 30/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0138 - accuracy: 0.9980 Epoch 00030: loss improved from 0.01483 to 0.01379, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0138 - accuracy: 0.9980 Epoch 31/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0123 - accuracy: 0.9982 Epoch 00031: loss improved from 0.01379 to 0.01248, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0125 - accuracy: 0.9980 Epoch 32/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0102 - accuracy: 0.9985 Epoch 00032: loss improved from 0.01248 to 0.01022, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0102 - accuracy: 0.9985 Epoch 33/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0091 - accuracy: 0.9990 Epoch 00033: loss improved from 0.01022 to 0.00913, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0091 - accuracy: 0.9990 Epoch 34/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0088 - accuracy: 0.9993 Epoch 00034: loss improved from 0.00913 to 0.00877, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0088 - accuracy: 0.9993 Epoch 35/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0077 - accuracy: 0.9993 Epoch 00035: loss improved from 0.00877 to 0.00769, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0077 - accuracy: 0.9993 Epoch 36/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0187 - accuracy: 0.9944 Epoch 00036: loss did not improve from 0.00769 17/17 [==============================] - 0s 3ms/step - loss: 0.0187 - accuracy: 0.9944 Epoch 37/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0220 - accuracy: 0.9914 Epoch 00037: loss did not improve from 0.00769 17/17 [==============================] - 0s 4ms/step - loss: 0.0218 - accuracy: 0.9915 Epoch 38/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0171 - accuracy: 0.9954 Epoch 00038: loss did not improve from 0.00769 17/17 [==============================] - 0s 4ms/step - loss: 0.0170 - accuracy: 0.9954 Epoch 39/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0110 - accuracy: 0.9966 Epoch 00039: loss did not improve from 0.00769 17/17 [==============================] - 0s 3ms/step - loss: 0.0110 - accuracy: 0.9966 Epoch 40/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0075 - accuracy: 0.9988 Epoch 00040: loss improved from 0.00769 to 0.00746, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0075 - accuracy: 0.9988 Epoch 41/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0057 - accuracy: 0.9993 Epoch 00041: loss improved from 0.00746 to 0.00573, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0057 - accuracy: 0.9993 Epoch 42/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0048 - accuracy: 0.9995 Epoch 00042: loss improved from 0.00573 to 0.00481, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0048 - accuracy: 0.9995 Epoch 43/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0042 - accuracy: 1.0000 Epoch 00043: loss improved from 0.00481 to 0.00421, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0042 - accuracy: 1.0000 Epoch 44/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0040 - accuracy: 1.0000 Epoch 00044: loss improved from 0.00421 to 0.00397, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0040 - accuracy: 1.0000 Epoch 45/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0041 - accuracy: 0.9995 Epoch 00045: loss did not improve from 0.00397 17/17 [==============================] - 0s 4ms/step - loss: 0.0042 - accuracy: 0.9995 Epoch 46/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0033 - accuracy: 1.0000 Epoch 00046: loss improved from 0.00397 to 0.00328, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0033 - accuracy: 1.0000 Epoch 47/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0035 - accuracy: 0.9998 Epoch 00047: loss did not improve from 0.00328 17/17 [==============================] - 0s 3ms/step - loss: 0.0035 - accuracy: 0.9998 Epoch 48/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0028 - accuracy: 1.0000 Epoch 00048: loss improved from 0.00328 to 0.00293, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0029 - accuracy: 1.0000 Epoch 49/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0027 - accuracy: 1.0000 Epoch 00049: loss improved from 0.00293 to 0.00269, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0027 - accuracy: 1.0000 Epoch 50/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0028 - accuracy: 1.0000 Epoch 00050: loss did not improve from 0.00269 17/17 [==============================] - 0s 4ms/step - loss: 0.0028 - accuracy: 1.0000 Epoch 51/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0027 - accuracy: 1.0000 Epoch 00051: loss improved from 0.00269 to 0.00268, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0027 - accuracy: 1.0000 Epoch 52/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0027 - accuracy: 1.0000 Epoch 00052: loss improved from 0.00268 to 0.00260, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0026 - accuracy: 1.0000 Epoch 53/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0023 - accuracy: 1.0000 Epoch 00053: loss improved from 0.00260 to 0.00223, saving model to student_net.hdf5 17/17 [==============================] - 0s 5ms/step - loss: 0.0022 - accuracy: 1.0000 Epoch 54/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0020 - accuracy: 1.0000 Epoch 00054: loss improved from 0.00223 to 0.00204, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0020 - accuracy: 1.0000 Epoch 55/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0021 - accuracy: 1.0000 Epoch 00055: loss did not improve from 0.00204 17/17 [==============================] - 0s 4ms/step - loss: 0.0021 - accuracy: 1.0000 Epoch 56/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0019 - accuracy: 1.0000 Epoch 00056: loss improved from 0.00204 to 0.00186, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0019 - accuracy: 1.0000 Epoch 57/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0020 - accuracy: 1.0000 Epoch 00057: loss did not improve from 0.00186 17/17 [==============================] - 0s 4ms/step - loss: 0.0020 - accuracy: 1.0000 Epoch 58/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0026 - accuracy: 0.9997 Epoch 00058: loss did not improve from 0.00186 17/17 [==============================] - 0s 4ms/step - loss: 0.0026 - accuracy: 0.9998 Epoch 59/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0032 - accuracy: 0.9995 Epoch 00059: loss did not improve from 0.00186 17/17 [==============================] - 0s 4ms/step - loss: 0.0037 - accuracy: 0.9993 Epoch 60/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0027 - accuracy: 0.9997 Epoch 00060: loss did not improve from 0.00186 17/17 [==============================] - 0s 4ms/step - loss: 0.0026 - accuracy: 0.9998 Epoch 61/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0020 - accuracy: 0.9997 Epoch 00061: loss did not improve from 0.00186 17/17 [==============================] - 0s 4ms/step - loss: 0.0020 - accuracy: 0.9998 Epoch 62/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0018 - accuracy: 0.9997 Epoch 00062: loss improved from 0.00186 to 0.00182, saving model to student_net.hdf5 17/17 [==============================] - 0s 5ms/step - loss: 0.0018 - accuracy: 0.9998 Epoch 63/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0016 - accuracy: 1.0000 Epoch 00063: loss improved from 0.00182 to 0.00162, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0016 - accuracy: 1.0000 Epoch 64/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0014 - accuracy: 1.0000 Epoch 00064: loss improved from 0.00162 to 0.00143, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0014 - accuracy: 1.0000 Epoch 65/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0013 - accuracy: 1.0000 Epoch 00065: loss improved from 0.00143 to 0.00132, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0013 - accuracy: 1.0000 Epoch 66/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0013 - accuracy: 1.0000 Epoch 00066: loss improved from 0.00132 to 0.00130, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0013 - accuracy: 1.0000 Epoch 67/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0014 - accuracy: 1.0000 Epoch 00067: loss did not improve from 0.00130 17/17 [==============================] - 0s 4ms/step - loss: 0.0014 - accuracy: 1.0000 Epoch 68/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0012 - accuracy: 1.0000 Epoch 00068: loss improved from 0.00130 to 0.00117, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0012 - accuracy: 1.0000 Epoch 69/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0011 - accuracy: 1.0000 Epoch 00069: loss improved from 0.00117 to 0.00111, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0011 - accuracy: 1.0000 Epoch 70/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0038 - accuracy: 0.9993 Epoch 00070: loss did not improve from 0.00111 17/17 [==============================] - 0s 3ms/step - loss: 0.0038 - accuracy: 0.9993 Epoch 71/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0026 - accuracy: 1.0000 Epoch 00071: loss did not improve from 0.00111 17/17 [==============================] - 0s 3ms/step - loss: 0.0026 - accuracy: 1.0000 Epoch 72/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0013 - accuracy: 1.0000 Epoch 00072: loss did not improve from 0.00111 17/17 [==============================] - 0s 4ms/step - loss: 0.0013 - accuracy: 1.0000 Epoch 73/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0033 - accuracy: 0.9992 Epoch 00073: loss did not improve from 0.00111 17/17 [==============================] - 0s 4ms/step - loss: 0.0033 - accuracy: 0.9993 Epoch 74/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0017 - accuracy: 0.9995 Epoch 00074: loss did not improve from 0.00111 17/17 [==============================] - 0s 3ms/step - loss: 0.0017 - accuracy: 0.9995 Epoch 75/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0011 - accuracy: 1.0000 Epoch 00075: loss improved from 0.00111 to 0.00110, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 0.0011 - accuracy: 1.0000 Epoch 76/100 16/17 [===========================>..] - ETA: 0s - loss: 8.7512e-04 - accuracy: 1.0000 Epoch 00076: loss improved from 0.00110 to 0.00087, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 8.7452e-04 - accuracy: 1.0000 Epoch 77/100 16/17 [===========================>..] - ETA: 0s - loss: 8.4294e-04 - accuracy: 1.0000 Epoch 00077: loss improved from 0.00087 to 0.00084, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 8.4388e-04 - accuracy: 1.0000 Epoch 78/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0013 - accuracy: 1.0000 Epoch 00078: loss did not improve from 0.00084 17/17 [==============================] - 0s 3ms/step - loss: 0.0013 - accuracy: 1.0000 Epoch 79/100 17/17 [==============================] - ETA: 0s - loss: 0.0011 - accuracy: 1.0000 Epoch 00079: loss did not improve from 0.00084 17/17 [==============================] - 0s 3ms/step - loss: 0.0011 - accuracy: 1.0000 Epoch 80/100 17/17 [==============================] - ETA: 0s - loss: 8.3979e-04 - accuracy: 1.0000 Epoch 00080: loss improved from 0.00084 to 0.00084, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 8.3979e-04 - accuracy: 1.0000 Epoch 81/100 16/17 [===========================>..] - ETA: 0s - loss: 6.7810e-04 - accuracy: 1.0000 Epoch 00081: loss improved from 0.00084 to 0.00068, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 6.7818e-04 - accuracy: 1.0000 Epoch 82/100 16/17 [===========================>..] - ETA: 0s - loss: 6.9025e-04 - accuracy: 1.0000 Epoch 00082: loss did not improve from 0.00068 17/17 [==============================] - 0s 3ms/step - loss: 6.8984e-04 - accuracy: 1.0000 Epoch 83/100 16/17 [===========================>..] - ETA: 0s - loss: 6.5928e-04 - accuracy: 1.0000 Epoch 00083: loss improved from 0.00068 to 0.00066, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 6.6309e-04 - accuracy: 1.0000 Epoch 84/100 15/17 [=========================>....] - ETA: 0s - loss: 0.0032 - accuracy: 0.9987 Epoch 00084: loss did not improve from 0.00066 17/17 [==============================] - 0s 4ms/step - loss: 0.0034 - accuracy: 0.9988 Epoch 85/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0015 - accuracy: 0.9998 Epoch 00085: loss did not improve from 0.00066 17/17 [==============================] - 0s 3ms/step - loss: 0.0015 - accuracy: 0.9998 Epoch 86/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0015 - accuracy: 0.9998 Epoch 00086: loss did not improve from 0.00066 17/17 [==============================] - 0s 3ms/step - loss: 0.0015 - accuracy: 0.9998 Epoch 87/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0022 - accuracy: 1.00 - ETA: 0s - loss: 0.0010 - accuracy: 1.0000 Epoch 00087: loss did not improve from 0.00066 17/17 [==============================] - 0s 3ms/step - loss: 0.0010 - accuracy: 1.0000 Epoch 88/100 17/17 [==============================] - ETA: 0s - loss: 7.4322e-04 - accuracy: 1.0000 Epoch 00088: loss did not improve from 0.00066 17/17 [==============================] - 0s 3ms/step - loss: 7.4322e-04 - accuracy: 1.0000 Epoch 89/100 16/17 [===========================>..] - ETA: 0s - loss: 5.9555e-04 - accuracy: 1.0000 Epoch 00089: loss improved from 0.00066 to 0.00060, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 5.9554e-04 - accuracy: 1.0000 Epoch 90/100 17/17 [==============================] - ETA: 0s - loss: 5.8544e-04 - accuracy: 1.0000 Epoch 00090: loss improved from 0.00060 to 0.00059, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 5.8544e-04 - accuracy: 1.0000 Epoch 91/100 16/17 [===========================>..] - ETA: 0s - loss: 5.4314e-04 - accuracy: 1.0000 Epoch 00091: loss improved from 0.00059 to 0.00054, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 5.4474e-04 - accuracy: 1.0000 Epoch 92/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0016 - accuracy: 0.9998 Epoch 00092: loss did not improve from 0.00054 17/17 [==============================] - 0s 3ms/step - loss: 0.0016 - accuracy: 0.9998 Epoch 93/100 16/17 [===========================>..] - ETA: 0s - loss: 0.0012 - accuracy: 1.0000 Epoch 00093: loss did not improve from 0.00054 17/17 [==============================] - 0s 3ms/step - loss: 0.0012 - accuracy: 1.0000 Epoch 94/100 16/17 [===========================>..] - ETA: 0s - loss: 7.6871e-04 - accuracy: 1.0000 Epoch 00094: loss did not improve from 0.00054 17/17 [==============================] - 0s 3ms/step - loss: 7.6819e-04 - accuracy: 1.0000 Epoch 95/100 16/17 [===========================>..] - ETA: 0s - loss: 6.1671e-04 - accuracy: 1.0000 Epoch 00095: loss did not improve from 0.00054 17/17 [==============================] - 0s 3ms/step - loss: 6.1629e-04 - accuracy: 1.0000 Epoch 96/100 16/17 [===========================>..] - ETA: 0s - loss: 5.0994e-04 - accuracy: 1.0000 Epoch 00096: loss improved from 0.00054 to 0.00051, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 5.0961e-04 - accuracy: 1.0000 Epoch 97/100 17/17 [==============================] - ETA: 0s - loss: 4.4793e-04 - accuracy: 1.0000 Epoch 00097: loss improved from 0.00051 to 0.00045, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 4.4793e-04 - accuracy: 1.0000 Epoch 98/100 16/17 [===========================>..] - ETA: 0s - loss: 4.3689e-04 - accuracy: 1.0000 Epoch 00098: loss improved from 0.00045 to 0.00044, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 4.3661e-04 - accuracy: 1.0000 Epoch 99/100 16/17 [===========================>..] - ETA: 0s - loss: 4.3904e-04 - accuracy: 1.0000 Epoch 00099: loss did not improve from 0.00044 17/17 [==============================] - 0s 3ms/step - loss: 4.3876e-04 - accuracy: 1.0000 Epoch 100/100 17/17 [==============================] - ETA: 0s - loss: 4.0683e-04 - accuracy: 1.0000 Epoch 00100: loss improved from 0.00044 to 0.00041, saving model to student_net.hdf5 17/17 [==============================] - 0s 4ms/step - loss: 4.0683e-04 - accuracy: 1.0000 Y_TOTAL_pred = model_student.predict(X_TOTAL_test) classification = classification_report(np.argmax(Y_TOTAL_test, axis=1), np.argmax(Y_TOTAL_pred, axis=1),) print(classification) precision recall f1-score support 0 1.00 0.63 0.78 41 1 0.94 0.98 0.96 1285 2 0.96 0.90 0.93 747 3 0.98 0.94 0.96 213 4 1.00 1.00 1.00 28107 5 0.96 0.98 0.97 657 6 0.93 1.00 0.96 25 7 1.00 0.98 0.99 430 8 1.00 0.61 0.76 18 9 0.97 0.93 0.95 875 10 0.98 0.98 0.98 2210 11 0.84 0.93 0.88 534 12 0.99 0.91 0.95 185 13 0.98 1.00 0.99 1139 14 0.97 0.99 0.98 347 15 0.98 0.77 0.87 84 accuracy 0.99 36897 macro avg 0.97 0.91 0.93 36897 weighted avg 0.99 0.99 0.99 36897 def AA_andEachClassAccuracy(confusion_matrix): counter = confusion_matrix.shape[0] # list_diag = np.diag(confusion_matrix) #获取confusion_matrix的主对角线所有数值 list_raw_sum = np.sum(confusion_matrix, axis=1) #将主对角线所有数求和 each_acc = np.nan_to_num(truediv(list_diag, list_raw_sum)) #list_diag/list_raw_sum 对角线各个数字/对角线所有数字的总和 average_acc = np.mean(each_acc) #AA= return each_acc, average_acc def reports (X_test,y_test): #start = time.time() Y_pred = model_student.predict(X_test) y_pred = np.argmax(Y_pred, axis=1) #end = time.time() #print(end - start) target_names = ['Alfalfa', 'Corn-notill', 'Corn-mintill', 'Corn', 'Grass-pasture', 'Grass-trees', 'Grass-pasture-mowed', 'Hay-windrowed', 'Oats', 'Soybean-notill', 'Soybean-mintill', 'Soybean-clean', 'Wheat', 'Woods', 'Buildings-Grass-Trees-Drives', 'Stone-Steel-Towers'] classification = classification_report(np.argmax(y_test, axis=1), y_pred, target_names=target_names) oa = accuracy_score(np.argmax(y_test, axis=1), y_pred) #计算OA confusion = confusion_matrix(np.argmax(y_test, axis=1), y_pred) #计算confusion each_acc, aa = AA_andEachClassAccuracy(confusion) #计算each_acc和aa kappa = cohen_kappa_score(np.argmax(y_test, axis=1), y_pred) #计算kappa score = model_student.evaluate(X_test, y_test, batch_size=32) Test_Loss = score[0]*100 Test_accuracy = score[1]*100 return classification, confusion, Test_Loss, Test_accuracy, oa*100, each_acc*100, aa*100, kappa*100 classification, confusion, Test_loss, Test_accuracy, oa, each_acc, aa, kappa = reports(X_TOTAL_test,Y_TOTAL_test) classification = str(classification) confusion = str(confusion) file_name = "Compressed_Convolution_Netural_report.txt" with open(file_name, 'w') as x_file: x_file.write('{} Test loss (%)'.format(Test_loss)) x_file.write('\n') x_file.write('{} Test accuracy (%)'.format(Test_accuracy)) x_file.write('\n') x_file.write('\n') x_file.write('{} Kappa accuracy (%)'.format(kappa)) x_file.write('\n') x_file.write('{} Overall accuracy (%)'.format(oa)) x_file.write('\n') x_file.write('{} Average accuracy (%)'.format(aa)) x_file.write('\n') x_file.write('\n') x_file.write('{}'.format(classification)) x_file.write('\n') x_file.write('{}'.format(confusion)) 1154/1154 [==============================] - 2s 1ms/step - loss: 0.0436 - accuracy: 0.9904 x_final,y_final=loadData() height=y_final.shape[0] width=y_final.shape[1] PATCH_SIZE=27 x_final=pca_change(x_final,num_components=3) x_final=padwithzeros(x_final,PATCH_SIZE//2) def Patch(data,height_index,width_index): height_slice = slice(height_index, height_index+PATCH_SIZE) width_slice = slice(width_index, width_index+PATCH_SIZE) patch = data[height_slice, width_slice, :] return patch # calculate the predicted image outputs = np.zeros((height,width)) for i in range(height): for j in range(width): target = int(y_final[i,j]) if target == 0 : continue else : image_patch=Patch(x_final,i,j) X_test_image = image_patch.reshape(1,image_patch.shape[0],image_patch.shape[1], image_patch.shape[2]).astype('float32') prediction = (model_student.predict(X_test_image)) prediction = np.argmax(prediction, axis=1) outputs[i][j] = prediction+1 predict_image = spectral.imshow(classes = outputs.astype(int),figsize =(12,12)) D:\Program Files (x86)\Anaconda\envs\TF2.1\lib\site-packages\spectral\graphics\spypylab.py:27: MatplotlibDeprecationWarning: The keymap.all_axes rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later. D:\Program Files (x86)\Anaconda\envs\TF2.1\lib\site-packages\spectral\graphics\spypylab.py:905: MatplotlibDeprecationWarning: Passing parameters norm and vmin/vmax simultaneously is deprecated since 3.3 and will become an error two minor releases later. Please pass vmin/vmax directly to the norm when creating it.

Compressed_Convolution_Netural_report.txt:

4.364361613988876 Test loss (%) 99.04057383537292 Test accuracy (%)

97.67252144274818 Kappa accuracy (%) 99.0405724042605 Overall accuracy (%) 90.90539032351633 Average accuracy (%)

precision recall f1-score support Alfalfa 1.00 0.63 0.78 41 Corn-notill 0.94 0.98 0.96 1285 Corn-mintill 0.96 0.90 0.93 747 Corn 0.98 0.94 0.96 213 Grass-pasture 1.00 1.00 1.00 28107 Grass-trees 0.96 0.98 0.97 657 Grass-pasture-mowed 0.93 1.00 0.96 25 Hay-windrowed 1.00 0.98 0.99 430 Oats 1.00 0.61 0.76 18 Soybean-notill 0.97 0.93 0.95 875 Soybean-mintill 0.98 0.98 0.98 2210 Soybean-clean 0.84 0.93 0.88 534 Wheat 0.99 0.91 0.95 185 Woods 0.98 1.00 0.99 1139 Buildings-Grass-Trees-Drives 0.97 0.99 0.98 347 Stone-Steel-Towers 0.98 0.77 0.87 84 accuracy 0.99 36897 macro avg 0.97 0.91 0.93 36897 weighted avg 0.99 0.99 0.99 36897

[[ 26 5 0 0 9 0 0 1 0 0 0 0 0 0 0 0] [ 0 1260 8 0 0 1 0 0 0 2 8 6 0 0 0 0] [ 0 3 670 0 10 19 0 0 0 2 11 31 1 0 0 0] [ 0 7 6 200 0 0 0 0 0 0 0 0 0 0 0 0] [ 0 0 2 0 28082 4 2 0 0 5 3 0 0 0 9 0] [ 0 4 0 0 0 647 0 0 0 0 6 0 0 0 0 0] [ 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0] [ 0 1 0 0 0 3 0 423 0 0 0 0 0 3 0 0] [ 0 0 0 0 0 0 0 0 11 0 0 7 0 0 0 0] [ 0 23 0 0 0 2 0 0 0 818 17 10 0 4 1 0] [ 0 9 2 5 0 0 0 0 0 14 2171 3 0 3 2 1] [ 0 21 9 0 0 0 0 0 0 0 0 496 0 8 0 0] [ 0 0 0 0 0 1 0 0 0 1 2 12 168 1 0 0] [ 0 0 0 0 1 0 0 0 0 0 0 0 0 1138 0 0] [ 0 1 0 0 0 0 0 0 0 0 0 3 0 0 343 0] [ 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 65]]

最新回复(0)