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, validation_data=(valX, valY), callbacks=callbacks_list, verbose=2)