1*a58d3d2aSXin Li""" 2*a58d3d2aSXin LiRunning the experiments; 3*a58d3d2aSXin Li 1. RCA vs SNR for our models, CREPE, LPCNet 4*a58d3d2aSXin Li""" 5*a58d3d2aSXin Li 6*a58d3d2aSXin Liimport argparse 7*a58d3d2aSXin Liparser = argparse.ArgumentParser() 8*a58d3d2aSXin Li 9*a58d3d2aSXin Liparser.add_argument('ptdb_root', type=str, help='Root Directory for PTDB generated by running ptdb_process.sh ') 10*a58d3d2aSXin Liparser.add_argument('output', type=str, help='Output dump file name') 11*a58d3d2aSXin Liparser.add_argument('method', type=str, help='Output Directory to save experiment dumps',choices=['model','lpcnet','crepe']) 12*a58d3d2aSXin Liparser.add_argument('--noise_dataset', type=str, help='Location of the Demand Datset',default = './',required=False) 13*a58d3d2aSXin Liparser.add_argument('--noise_type', type=str, help='Type of additive noise',default = 'synthetic',choices=['synthetic','demand'],required=False) 14*a58d3d2aSXin Liparser.add_argument('--pth_file', type=str, help='.pth file to analyze',default = './',required = False) 15*a58d3d2aSXin Liparser.add_argument('--fraction_files_analyze', type=float, help='Fraction of PTDB dataset to test on',default = 1,required = False) 16*a58d3d2aSXin Liparser.add_argument('--threshold_rca', type=float, help='Cent threshold when computing RCA',default = 50,required = False) 17*a58d3d2aSXin Liparser.add_argument('--gpu_index', type=int, help='GPU index to use if multiple GPUs',default = 0,required = False) 18*a58d3d2aSXin Li 19*a58d3d2aSXin Liargs = parser.parse_args() 20*a58d3d2aSXin Li 21*a58d3d2aSXin Liimport os 22*a58d3d2aSXin Lios.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" 23*a58d3d2aSXin Lios.environ["CUDA_VISIBLE_DEVICES"] = str(args.gpu_index) 24*a58d3d2aSXin Li 25*a58d3d2aSXin Liimport json 26*a58d3d2aSXin Lifrom evaluation import cycle_eval 27*a58d3d2aSXin Li 28*a58d3d2aSXin Liif args.method == 'model': 29*a58d3d2aSXin Li dict_store = cycle_eval([args.pth_file], noise_type = args.noise_type, noise_dataset = args.noise_dataset, list_snr = [-20,-15,-10,-5,0,5,10,15,20], ptdb_dataset_path = args.ptdb_root,fraction = args.fraction_files_analyze,thresh = args.threshold_rca) 30*a58d3d2aSXin Lielse: 31*a58d3d2aSXin Li dict_store = cycle_eval([args.method], noise_type = args.noise_type, noise_dataset = args.noise_dataset, list_snr = [-20,-15,-10,-5,0,5,10,15,20], ptdb_dataset_path = args.ptdb_root,fraction = args.fraction_files_analyze,thresh = args.threshold_rca) 32*a58d3d2aSXin Li 33*a58d3d2aSXin Lidict_store["method"] = args.method 34*a58d3d2aSXin Liif args.method == 'model': 35*a58d3d2aSXin Li dict_store['pth'] = args.pth_file 36*a58d3d2aSXin Li 37*a58d3d2aSXin Liwith open(args.output, 'w') as fp: 38*a58d3d2aSXin Li json.dump(dict_store, fp) 39