#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ from dataset_utils import load_training, load_validation from model_utils import model_builder from training_utils import train_model import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import os ### Load Data #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # training training_foldername = '../../nesmdb24_seprsco/train/' train_save_filename = 'transformed_dataset.json' dataset , labels2int_map , int2labels_map = \ load_training(training_foldername, train_save_filename) # validation validation_foldername = '../../nesmdb24_seprsco/valid/' val_save_filename = 'transformed_val_dataset.json' val_dataset = load_validation(validation_foldername,\ labels2int_map, val_save_filename) ### Build Model #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ### Model Parameters rnn_units = 512 input_dim = len(int2labels_map) emb_output_dim = 256 batch_size = 100 lstm_maxnorm, dense_maxnorm = 4, 4
import numpy as np import matplotlib.pyplot as plt import os ### Load Data #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Parameters for shape of dataset (note these are also used for model def.) measures = 8 measure_len = 96 # training training_foldername = '../../nesmdb24_seprsco/train/' train_save_filename = 'transformed_dataset.json' dataset , labels2int_map , int2labels_map = \ load_training(training_foldername, train_save_filename, measures = measures, measure_len = measure_len) # validation validation_foldername = '../../nesmdb24_seprsco/valid/' val_save_filename = 'transformed_val_dataset.json' val_dataset = load_validation(validation_foldername,\ labels2int_map, val_save_filename, measures = measures, measure_len = measure_len) ### Build Model #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ### Model Parameters latent_dim = 124 input_dim = len(int2labels_map) - 1 dropout = .1
# NOTE - nesmdb folder manually added to environment libraries from dataset_utils import load_training, load_track from model_utils import model_builder from generation_utils import generate_track, generate_seprsco import nesmdb from nesmdb.vgm.vgm_to_wav import save_vgmwav import tensorflow as tf import numpy as np import os ### Load Mappings #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ data_foldername = '../../nesmdb24_seprsco/train/' save_filename = 'transformed_dataset.json' dataset , labels2int_map , int2labels_map = load_training(data_foldername, save_filename) # Delete dataset to free up memory del dataset ### Reinitiate Model #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Define Model Structure model = model_builder(rnn_units = 512, input_dim = len(int2labels_map), emb_output_dim = 256, batch_size = 1, lstm_maxnorm = 4, dense_maxnorm = 4, lstm_dropout = .5, dense_dropout = .5)