print() print("Choose a batch size:") print("(Batch size determines how many training samples per gradient-update are used. --> Number of gradient-updates per epoch: Num of samples / batch size)") batch_size = int(input('Batch Size (recommended=128):')) print() print() print("Network Input Dimension:", input_dim) print("Network Output Dimension:", output_dim) print("How many layers should the network have?") num_layers = int(input('Number of Layers:')) print() model = Sequential() model = trainer.BuildNetwork(model,input_dim, output_dim, num_layers) model = trainer.CompileNetwork(model,num_epochs, batch_size,input_data, target_data ,num_layers) trainer.SaveModelAndWeights(model,num_layers,num_epochs) print("Done Training") option=int(input('Option: ')) elif option == 2: chord_train_files = './trainData/Chords/' chord_files = glob.glob("%s*.mid" %(chord_train_files)) print("Choose a resolution factor. (e.g. Resolution_Factor=24: 1/8 Resolution, 12: 1/16 Resolution, 6: 1/32 Resolution, etc...)") resolution_factor = int(input('Resolution Factor (recommended=12):')) #24: 1/8 Resolution, 12: 1/16 Resolution, 6: 1/32 Resolution numerator = 4 denominator = 4 seq_length, tpb = comp_util.timeSignature(chord_files, resolution_factor, numerator, denominator)