def plot_vector_hist(iv_file, v_list, preproc_file, output_path, num_bins, normed, **kwargs): if preproc_file is not None: preproc = TransformList.load(preproc_file) else: preproc = None vr_args = VR.filter_args(**kwargs) vr = VR(iv_file, v_list, preproc, **vr_args) x = vr.read() t1 = time.time() if not os.path.exists(output_path): os.makedirs(ouput_path) for i in xrange(x.shape[1]): fig_file = '%s/D%04d.pdf' % (output_path, i) plt.hist(x[:, i], num_bins, normed=normed) plt.xlabel('Dim %d' % i) plt.grid(True) plt.show() plt.savefig(fig_file) plt.clf() logging.info('Elapsed time: %.2f s.' % (time.time() - t1))
def train_mvn(iv_file, train_list, preproc_file, name, save_tlist, append_tlist, output_path, **kwargs): if preproc_file is not None: preproc = TransformList.load(preproc_file) else: preproc = None vr_args = VR.filter_args(**kwargs) vr = VR(iv_file, train_list, preproc, **vr_args) x = vr.read() t1 = time.time() model = MVN(name=name) model.fit(x) logging.info('Elapsed time: %.2f s.' % (time.time() - t1)) if save_tlist: if append_tlist and preproc is not None: preproc.append(model) model = preproc else: model = TransformList(model) model.save(output_path)
def train_gauss(iv_file, train_list, preproc_file, save_tlist, append_tlist, input_path, output_path, **kwargs): if preproc_file is not None: preproc = TransformList.load(preproc_file) else: preproc = None vr_args = VR.filter_args(**kwargs) vr = VR(iv_file, train_list, preproc, **vr_args) x = vr.read() t1 = time.time() model_args = Gaussianizer.filter_args(**kwargs) model = load_model(input_path, **model_args) model.fit(x) if save_tlist: if append_tlist and preproc is not None: preproc.append(model) model = preproc else: model = TransformList(model) model.save(output_path)
def eval_plda(iv_file, ndx_file, enroll_file, test_subseg2orig_file, preproc_file, coh_iv_file, coh_list, coh_nbest, coh_nbest_discard, model_file, score_file, plda_type, **kwargs): logging.info('loading data') if preproc_file is not None: preproc = TransformList.load(preproc_file) else: preproc = None tdr = TDR(iv_file, ndx_file, enroll_file, None, test_subseg2orig_file, preproc) x_e, x_t, enroll, ndx, orig_seg = tdr.read() logging.info('loading plda model: %s' % (model_file)) model = F.load_plda(plda_type, model_file) t1 = time.time() logging.info('computing llr') scores = model.llr_1vs1(x_e, x_t) dt = time.time() - t1 num_trials = len(enroll) * x_t.shape[0] logging.info( 'scoring elapsed time: %.2f s. elapsed time per trial: %.2f ms.' % (dt, dt / num_trials * 1000)) logging.info('loading cohort data') vr = VR(coh_iv_file, coh_list, preproc) x_coh = vr.read() t2 = time.time() logging.info('score cohort vs test') scores_coh_test = model.llr_1vs1(x_coh, x_t) logging.info('score enroll vs cohort') scores_enr_coh = model.llr_1vs1(x_e, x_coh) dt = time.time() - t2 logging.info('cohort-scoring elapsed time: %.2f s.' % (dt)) t2 = time.time() logging.info('apply s-norm') snorm = SNorm(nbest=coh_nbest, nbest_discard=coh_nbest_discard) scores = snorm.predict(scores, scores_coh_test, scores_enr_coh) dt = time.time() - t2 logging.info('s-norm elapsed time: %.2f s.' % (dt)) dt = time.time() - t1 logging.info( ('total-scoring elapsed time: %.2f s. ' 'elapsed time per trial: %.2f ms.') % (dt, dt / num_trials * 1000)) logging.info('combine cluster scores') scores = combine_diar_scores(ndx, orig_seg, scores) logging.info('saving scores to %s' % (score_file)) s = TrialScores(enroll, ndx.seg_set, scores) s = s.align_with_ndx(ndx) s.save_txt(score_file)
def train_cw(iv_file, train_list, preproc_file, with_lnorm, save_tlist, append_tlist, input_path, output_path, **kwargs): if preproc_file is not None: preproc = TransformList.load(preproc_file) else: preproc = None vr_args = VR.filter_args(**kwargs) vr = VR(iv_file, train_list, preproc, **vr_args) x = vr.read() t1 = time.time() model_args = CentWhiten.filter_args(**kwargs) model = load_model(input_path, with_lnorm, **model_args) model.fit(x) logging.info('Elapsed time: %.2f s.' % (time.time()-t1)) x = model.predict(x) gauss=Normal(x_dim=x.shape[1]) gauss.fit(x=x) logging.debug(gauss.mu[:4]) logging.debug(gauss.Sigma[:4,:4]) if save_tlist: if append_tlist and preproc is not None: preproc.append(model) model = preproc else: model = TransformList(model) model.save(output_path)