생성된 데이터셋으로 훈련하기

#생성된 데이터셋으로 훈련하기  
from keras.models import Sequential 
from keras.layers import Dropout, Activation, Dense 
from keras.layers import Flatten, Convolution2D, MaxPooling2D 
from keras.models import load_model 
import numpy as np 
import cv2  #openCV 라이브러리 import하기


#분류할 카테고리명이 되기에 데이터셋 만들 당시 폴더명과 동일하게 해야함.
categories = ["road", "water", "building", "green"]
num_classes = len(categories)

 

#앞에서 만든 데이터셋을 불러온다.
X_train, X_test, Y_train, Y_test = np.load('./imageDataList_25.npy', allow_pickle = True) 

model = Sequential() 
model = Sequential() 
model.add(Convolution2D(16, 3, 3, border_mode='same', activation='relu', 
                        input_shape=X_train.shape[1:])) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 
   
model.add(Convolution2D(64, 3, 3,  activation='relu')) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 
  
model.add(Convolution2D(64, 3, 3)) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 
   
model.add(Flatten()) 
model.add(Dense(256, activation = 'relu')) 
model.add(Dropout(0.5)) 
model.add(Dense(num_classes,activation = 'softmax')) 
   
model.compile(loss='binary_crossentropy',optimizer='Adam',metrics=['accuracy']) 
model.fit(X_train, Y_train, batch_size=32, nb_epoch=100) 
score = model.evaluate(X_test, Y_test)  
print('loss==>' ,score[0]*100)  
print('accuracy==>', score[1]*100)

 

#모델을 저장할 경로와 파일명을 지정한다.
model.save('cnnModel_25.h5')



  Comments,     Trackbacks
최근 작성 글
최근 작성 댓글
최근 작성 트랙백
프로필
공지사항
글 보관함
캘린더
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
TODAY TOTAL