示例#1
0
    ##################################################
    for run in range(RUNS_IN_FOLD):
        print('\nFold {0} runs {1}'.format(FLAGS.fold, run))
        # use model check point callbacks
        bst_model_path = '../data/output/model/nn_fold{0}_run{1}_{2}.h5'.format(FLAGS.fold, run, FE_TYPE)
        model_checkpoint = ModelCheckpoint(
            bst_model_path,
            monitor='val_acc',
            mode='max',
            save_best_only=True,
            save_weights_only=True
        )
        model = get_model()
        # st(context=21)
        hist = model.fit_generator(
            generator=train_generator.generator(FE_TYPE),
            steps_per_epoch=train_generator.steps_per_epoch,
            epochs=epochs,
            validation_data=(X_valid, y_valid),
            callbacks=[lr_plateau, model_checkpoint, early_stopping, csv_logger],
            shuffle=True,
        )
        gc.collect()
        bst_acc = max(hist.history['val_acc'])
        print('\nBest model val_acc : %.5f\n' % bst_acc)
        model.load_weights(bst_model_path)
        # os.remove(bst_model_path)
        # st(context=21)
        preds_test += model.predict(X_test, batch_size=batch_size) / RUNS_IN_FOLD
        preds_valid += model.predict(X_valid, batch_size=batch_size) / RUNS_IN_FOLD
 preds = np.zeros((len(fname_test), n_classes))
 for run in range(RUNS_IN_FOLD):
     print('fold {0} runs {1}'.format(FLAGS.fold, run))
     # use model check point callbacks
     bst_model_path = './tmp/nn_fold{0}_run{1}_{2}.h5'.format(FLAGS.fold, run, FE_TYPE)
     model_checkpoint = ModelCheckpoint(
         bst_model_path,
         monitor='val_acc',
         mode='max',
         save_best_only=True,
         save_weights_only=True
     )
     model = get_model()
     # st(context=21)
     hist = model.fit_generator(
         generator=train_generator.generator(FE_TYPE),
         steps_per_epoch=train_generator.steps_per_epoch,
         epochs=epochs,
         validation_data=valid_generator.generator(FE_TYPE),
         validation_steps=valid_generator.steps_per_epoch,
         callbacks=[lr_plateau, model_checkpoint],
         shuffle=True,
     )
     gc.collect()
     bst_acc = max(hist.history['val_acc'])
     print('best model val_acc : {0}'.format(bst_acc))
     model.load_weights(bst_model_path)
     # os.remove(bst_model_path)
     preds += model.predict(X_test, batch_size=256) / RUNS_IN_FOLD
     del model
     gc.collect()
示例#3
0
        augmentation_prob=50,
    )
    train_generator.steps_per_epoch = train_generator.steps_per_epoch * 2
    valid_generator = AudioGenerator(
        root_dir= '../data/input/train/audio/',
        k=FLAGS.fold,
        file_temp=VALID_SPLIT_FILE_TEMP,
        ori_batch_size=batch_size,
        train_or_valid='valid',
    )
    preds = np.zeros((len(fname_test), n_classes))
    for run in range(RUNS_IN_FOLD):
        print('fold {0} runs {1}'.format(FLAGS.fold, run))
        model = get_model()
        model.fit_generator(
            generator=train_generator.generator(),
            steps_per_epoch=train_generator.steps_per_epoch,
            epochs=epochs,
            validation_data=valid_generator.generator(),
            validation_steps=valid_generator.steps_per_epoch,
            # callbacks=[lr_scheduler],
            shuffle=True,
        )
        gc.collect()
        preds += model.predict(X_test, batch_size=256) / RUNS_IN_FOLD
        del model
        gc.collect()

    labels_index =np.argmax(preds, axis=1)
    del X_test
    gc.collect()