示例#1
0
def filt(X_data, type_freq, lim_freq_1):
    if type_freq == "low":
        X_data_f = aug_freq_low(X_data, lim_freq_1, 3, "float")
    if type_freq == "high":
        X_data_f = aug_freq_high(X_data, lim_freq_1, 3, "float")
    if type_freq == "none":
        X_data_f = X_data
    return (X_data_f)
    
    print("Accuracy on train set: " + str(model.evaluate(X_train, Y_train, verbose=0)[1]))
    print("Accuracy on test set: " +  str(model.evaluate(X_test, Y_test, verbose=0)[1]))
    
    model.save("models/SVHN_low_freq_" + str(lim_freq) + ".h5")
       
    
    
if (model_type == "high_freq"):

    lim_freq = int(sys.argv[3])
    print("limit frequency: " + str(lim_freq))
    
    from data_augmentation import aug_freq_high
    
    X_train = aug_freq_high(X_train, lim_freq, 3, type_r="float")
    X_test = aug_freq_high(X_test, lim_freq, 3, type_r="float")
        
    generator=ImageDataGenerator()
    
    model = svhn_model()
    filepath="svhn_weights_best_" + model_type + "_"+ str(lim_freq) +".hdf5"
    checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
    def lr_schedule(epoch):
        lr = 1e-2
        if epoch > 15:
            lr = 0.001  
        print('Learning rate: ', lr)
        return lr    
    lr_scheduler = LearningRateScheduler(lr_schedule)
    callbacks_list = [checkpoint, lr_scheduler]