Beispiel #1
0
if __name__ == '__main__':
    args = parse_args()
    print(vars(args))
    lr = args.lr
    data = Data(args.standardize, args.output, args.maxNorm)
    
    dirpath = os.path.join(args.directory, args.input, args.output)
    if not os.path.exists(dirpath):
        os.makedirs(dirpath)
    with open(os.path.join(dirpath, "args.json"), "w") as outfile:
        json.dump(vars(args), outfile)

    for f in range(5):
        print("Training fold " + str(f + 1))
        if args.input != "all":
            trnX, trnY, valX, valY = data.get_trn_val(f + 1, key=args.input)
        else:
            trnX, trnY, valX, valY = data.get_m_trn_val(f + 1)

        testingModel = get_model(
            args.filters, args.kernelSize, args.regularizationSize, args.fully,
            args.activation, args.input, args.output)

        if f == 0:
            testingModel.summary()
        early_stop = EarlyStopping(
            monitor='val_loss', patience=80, mode='min', restore_best_weights=True)
        lrate = LearningRateScheduler(step_decay, verbose=0)
        callbacks_list = [early_stop, lrate]
        history = testingModel.fit(
            trnX, trnY, epochs=2000, batch_size=args.batchSize,