def run(): # ******************** Settings ******************** gs.ALIAS_AND_OUTPUT_SUBDIR = os.path.splitext( os.path.basename(__file__))[0][7:] rasr.flow.FlowNetwork.default_flags = {"cache_mode": "task_dependent"} # ******************** GMM Init ******************** mfcc_cepstrum_options = { "normalize": False, "outputs": 16, "add_epsilon": True, "epsilon": 1e-10, } gt_options_extra_args = { "normalize": False, } train_data_inputs, dev_data_inputs, test_data_inputs = data_setups.get_corpus_data_inputs( ) init_args = lbs_setups.get_init_args( dc_detection=False, mfcc_cepstrum_options=mfcc_cepstrum_options, gt_options_extra_args=gt_options_extra_args, ) mono_args = lbs_setups.get_monophone_args(train_align_iter=90, allow_zero_weights=True) cart_args = lbs_setups.get_cart_args() tri_args = lbs_setups.get_triphone_args() vtln_args = lbs_setups.get_vtln_args(allow_zero_weights=True) sat_args = lbs_setups.get_sat_args(allow_zero_weights=True) vtln_sat_args = lbs_setups.get_vtln_sat_args() final_output_args = lbs_setups.get_final_output() steps = rasr_util.RasrSteps() steps.add_step("extract", init_args.feature_extraction_args) steps.add_step("mono", mono_args) steps.add_step("cart", cart_args) steps.add_step("tri", tri_args) steps.add_step("vtln", vtln_args) steps.add_step("sat", sat_args) steps.add_step("vtln+sat", vtln_sat_args) steps.add_step("output", final_output_args) # ******************** GMM System ******************** lbs_gmm_system = gmm_system.GmmSystem() lbs_gmm_system.init_system( hybrid_init_args=init_args, train_data=train_data_inputs, dev_data=dev_data_inputs, test_data=test_data_inputs, ) lbs_gmm_system.run(steps)
def run_baseline_training(): train, dev, test = get_corpus_data_inputs() gs.ALIAS_AND_OUTPUT_SUBDIR = 'experiments/librispeech/librispeech_100_gmm/unfolded_monophone_baseline' system = gmm_system.GmmSystem() start = time.time() system.init_system(hybrid_init_args=get_init_args(), monophone_args=get_monophone_args(), triphone_args=None, vtln_args=None, sat_args=None, vtln_sat_args=None, train_data=train, dev_data=dev, test_data=test) print("init_system took: %.1f" % (time.time() - start)) start = time.time() system.run(["extract", "mono"]) print("run took: %.1f" % (time.time() - start)) gs.ALIAS_AND_OUTPUT_SUBDIR = '' return system
def run_nodc_baseline(): train, dev, test = get_corpus_data_inputs() gs.ALIAS_AND_OUTPUT_SUBDIR = 'experiments/librispeech/librispeech_100_gmm/full_gmm_nodc_baseline' system = gmm_system.GmmSystem() start = time.time() system.init_system(hybrid_init_args=get_init_args(dc_detection=False), monophone_args=get_monophone_args(), cart_args=get_cart_args(folded=False), triphone_args=get_triphone_args(), vtln_args=get_vtln_args(), sat_args=get_sat_args(), vtln_sat_args=get_vtln_sat_args(), train_data=train, dev_data=dev, test_data=test) print("init_system took: %.1f" % (time.time()-start)) start = time.time() system.run(["extract", "mono", "cart", "tri", "vtln", "sat", "vtln+sat"]) print("run took: %.1f" % (time.time()-start)) gs.ALIAS_AND_OUTPUT_SUBDIR = '' return system
def run(): # ******************** Settings ******************** filename_handle = os.path.splitext(os.path.basename(__file__))[0] gs.ALIAS_AND_OUTPUT_SUBDIR = f"{filename_handle}/" rasr.flow.FlowNetwork.default_flags = {"cache_mode": "task_dependent"} # ******************** GMM Init ******************** ( train_data_inputs, dev_data_inputs, test_data_inputs, ) = lbs_gmm_setups.get_data_inputs(use_eval_data_subset=True, ) hybrid_init_args = lbs_gmm_setups.get_init_args() mono_args = lbs_gmm_setups.get_monophone_args(allow_zero_weights=True) cart_args = lbs_gmm_setups.get_cart_args() tri_args = lbs_gmm_setups.get_triphone_args() vtln_args = lbs_gmm_setups.get_vtln_args(allow_zero_weights=True) sat_args = lbs_gmm_setups.get_sat_args(allow_zero_weights=True) vtln_sat_args = lbs_gmm_setups.get_vtln_sat_args() final_output_args = lbs_gmm_setups.get_final_output() steps = rasr_util.RasrSteps() steps.add_step("extract", hybrid_init_args.feature_extraction_args) steps.add_step("mono", mono_args) steps.add_step("cart", cart_args) steps.add_step("tri", tri_args) steps.add_step("vtln", vtln_args) steps.add_step("sat", sat_args) steps.add_step("vtln+sat", vtln_sat_args) steps.add_step("output", final_output_args) # ******************** GMM System ******************** lbs_gmm_system = gmm_system.GmmSystem() lbs_gmm_system.init_system( hybrid_init_args=hybrid_init_args, train_data=train_data_inputs, dev_data=dev_data_inputs, test_data=test_data_inputs, ) lbs_gmm_system.run(steps) train_corpus_path = lbs_gmm_system.corpora["train-other-960"].corpus_file total_train_num_segments = 281241 cv_size = 3000 / total_train_num_segments all_segments = corpus_recipe.SegmentCorpusJob( train_corpus_path, 1).out_single_segment_files[1] splitted_segments_job = corpus_recipe.ShuffleAndSplitSegmentsJob( all_segments, { "train": 1 - cv_size, "cv": cv_size }) train_segments = splitted_segments_job.out_segments["train"] cv_segments = splitted_segments_job.out_segments["cv"] devtrain_segments = text.TailJob(train_segments, num_lines=1000, zip_output=False).out # ******************** NN Init ******************** nn_train_data = lbs_gmm_system.outputs["train-other-960"][ "final"].as_returnn_rasr_data_input(shuffle_data=True) nn_train_data.update_crp_with(segment_path=train_segments, concurrent=1) nn_train_data_inputs = { "train-other-960.train": nn_train_data, } nn_cv_data = lbs_gmm_system.outputs["train-other-960"][ "final"].as_returnn_rasr_data_input() nn_cv_data.update_crp_with(segment_path=cv_segments, concurrent=1) nn_cv_data_inputs = { "train-other-960.cv": nn_cv_data, } nn_devtrain_data = lbs_gmm_system.outputs["train-other-960"][ "final"].as_returnn_rasr_data_input() nn_devtrain_data.update_crp_with(segment_path=devtrain_segments, concurrent=1) nn_devtrain_data_inputs = { "train-other-960.devtrain": nn_devtrain_data, } nn_dev_data_inputs = { # "dev-clean": lbs_gmm_system.outputs["dev-clean"][ # "final" # ].as_returnn_rasr_data_input(), "dev-other": lbs_gmm_system.outputs["dev-other"] ["final"].as_returnn_rasr_data_input(), } nn_test_data_inputs = { # "test-clean": lbs_gmm_system.outputs["test-clean"][ # "final" # ].as_returnn_rasr_data_input(), # "test-other": lbs_gmm_system.outputs["test-other"][ # "final" # ].as_returnn_rasr_data_input(), } nn_args = lbs_nn_setups.get_nn_args() nn_steps = rasr_util.RasrSteps() nn_steps.add_step("nn", nn_args) # ******************** NN System ******************** returnn_repo = CloneGitRepositoryJob( url="[email protected]:rwth-i6/returnn.git", checkout_folder_name="returnn") lbs_nn_system = nn_system.NnSystem( returnn_root=returnn_repo.out_repository) lbs_nn_system.init_system( hybrid_init_args=hybrid_init_args, train_data=nn_train_data_inputs, cv_data=nn_cv_data_inputs, devtrain_data=nn_devtrain_data_inputs, dev_data=nn_dev_data_inputs, test_data=nn_test_data_inputs, train_cv_pairing=[ tuple(["train-other-960.train", "train-other-960.cv"]) ], ) lbs_nn_system.run(nn_steps) gs.ALIAS_AND_OUTPUT_SUBDIR = ""