前提・実現したいこと
KerasによるCNNの実装で、各ラベルに対する精度を出力したいです。
該当のソースコード
Python
1from keras.models import Sequential 2from keras.layers import Dense, Dropout, Flatten 3from keras.layers import Conv2D, MaxPooling2D 4import keras 5from keras import backend as K 6from keras.layers.advanced_activations import LeakyReLU 7import pickle 8import numpy as np 9from keras.utils import np_utils 10from sklearn.preprocessing import MinMaxScaler 11from keras import optimizers 12from sklearn.model_selection import StratifiedKFold 13from sklearn.model_selection import train_test_split 14 15memory=[]#memorize history 16LR=keras.layers.LeakyReLU(alpha=0.3) 17# difine sgd 18sgd= optimizers.SGD(lr=0.001, decay=1e-6, momentum=0.9, nesterov=True) 19adagrad=optimizers.Adagrad(lr=0.001, epsilon=None, decay=0.0) 20 21batch_size =32 22num_classes=5 23epochs=2000 24 25with open('datawh',mode='rb') as f: 26 X=pickle.load(f) 27with open('labelwh',mode='rb')as f: 28 Y=pickle.load(f) 29 30X= np.array(X).astype('float32') 31Y= np.array(Y).astype('int32') 32 33x_train, x_test, y_train, y_test = train_test_split(X, Y, train_size=0.8, random_state=2) 34 35 36 37print(x_train.shape) 38print(x_test.shape) 39 40x_train = np.expand_dims(x_train,axis=-1) 41x_test = np.expand_dims(x_test,axis=-1) 42y_train= np_utils.to_categorical(y_train,num_classes) 43y_test = np_utils.to_categorical(y_test,num_classes) 44 45input_shape=(274,30,1) 46 47 48model = Sequential() 49model.add(Conv2D(32, kernel_size=(3,3), 50 activation='tanh', 51 input_shape=input_shape)) 52model.add(Conv2D(32, (3, 3), activation='tanh')) 53model.add(MaxPooling2D(pool_size=(5,3))) 54model.add(Conv2D(32, (3, 3), activation='tanh')) 55model.add(Conv2D(32, (3, 3), activation='tanh')) 56model.add(MaxPooling2D(pool_size=(5,3))) 57model.add(Dropout(0.5)) 58model.add(Flatten()) 59model.add(Dense(num_classes, activation='softmax',init='glorot_normal')) 60 61 62model.compile(loss=keras.losses.categorical_crossentropy, 63 optimizer=sgd, 64 metrics=['accuracy']) 65model.summary() 66 67history = model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, 68 verbose=0,validation_data=(x_test, y_test)) 69score = model.evaluate(x_test, y_test, verbose=0) 70 71print('finish')
補足情報(FW/ツールのバージョンなど)
GoogleColab上で処理を行なっています。
Kerasで5種のラベルに対する各々精度を出力できるようにしたいです。
回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 07:18