def __init__(self, input_size, weights): input_image = Input(shape=(input_size[0], input_size[1], 3)) if weights == 'imagenet': nasnetmobile = NASNetMobile(input_tensor=input_image, include_top=False, weights='imagenet', pooling=None) print('Successfully loaded imagenet backend weights') else: nasnetmobile = NASNetMobile(input_tensor=input_image, include_top=False, weights=None, pooling=None) if weights: nasnetmobile.load_weights(weights) print('Loaded backend weigths: ' + weights) self.feature_extractor = nasnetmobile
# 컴파일, 훈련 op = Adadelta(lr=1e-3) batch_size = 4 es = EarlyStopping(monitor='val_loss', patience=20, restore_best_weights=True, verbose=1) lr = ReduceLROnPlateau(monitor='val_loss', vactor=0.5, patience=10, verbose=1) path = 'C:/nmb/nmb_data/h5/5s/Nasnet/nasnet_adadelta_1.h5' mc = ModelCheckpoint(path, monitor='val_loss', verbose=1, save_best_only=True) model.compile(optimizer=op, loss="sparse_categorical_crossentropy", metrics=['acc']) history = model.fit(x_train, y_train, epochs=1000, batch_size=batch_size, validation_split=0.2, callbacks=[es, lr, mc]) # 평가, 예측 # model = load_model('C:/nmb/nmb_data/h5/5s/Nasnet/nasnet_adadelta_1.h5') model.load_weights('C:/nmb/nmb_data/h5/5s/Nasnet/nasnet_adadelta_1.h5') result = model.evaluate(x_test, y_test, batch_size=8) print("loss : {:.5f}".format(result[0])) print("acc : {:.5f}".format(result[1])) ############################################ PREDICT #################################### pred = ['C:/nmb/nmb_data/predict_04_26/F', 'C:/nmb/nmb_data/predict_04_26/M'] count_f = 0 count_m = 0 for pred_pathAudio in pred: files = librosa.util.find_files(pred_pathAudio, ext=['wav']) files = np.asarray(files) for file in files:
path = 'C:/nmb/nmb_data/h5/5s/Nasnet/nasnet_rmsprop_1.h5' mc = ModelCheckpoint(path, monitor='val_loss', verbose=1, save_best_only=True) model.compile(optimizer=op, loss="sparse_categorical_crossentropy", metrics=['acc']) history = model.fit(x_train, y_train, epochs=1000, batch_size=batch_size, validation_split=0.2, callbacks=[es, lr, mc]) # 평가, 예측 # model = load_model('C:/nmb/nmb_data/h5/5s/Nasnet/nasnet_rmsprop_1.h5') model.load_weights('C:/nmb/nmb_data/h5/5s/Nasnet/nasnet_rmsprop_1.h5') result = model.evaluate(x_test, y_test, batch_size=8) print("loss : {:.5f}".format(result[0])) print("acc : {:.5f}".format(result[1])) ############################################ PREDICT #################################### pred = ['C:/nmb/nmb_data/predict_04_26/F', 'C:/nmb/nmb_data/predict_04_26/M'] count_f = 0 count_m = 0 for pred_pathAudio in pred: files = librosa.util.find_files(pred_pathAudio, ext=['wav']) files = np.asarray(files) for file in files: