Description
I'd like to have a script that will decode and align at the same time with nnet3, to avoid doing the neural net computation twice. This would be a version of nnet3-latgen-faster, perhaps nnet3-latgen-faster-double, that would have usage like this:
"Usage: nnet3-latgen-faster-double [options] <nnet-in> <fst-in1|fsts-rspecifier1> <fst-in2|fsts-rspecifier2> <features-rspecifier>"
" <lattice-wspecifier1> <lattice-wspecifier2> "
"See also: nnet3-latgen-faster, nnet3-latgen-faster-parallel, nnet3-latgen-faster-batch\n";
We'd want to change the structure of it a bit, i.e. there wouldn't be one big outer if-statement; instead the if-statements would have to be inside a while loop that would iterate over the features.
We'd also add a script steps/nnet3/make_denlats_and_align.sh, modified from steps/nnet3/make_denlats.sh. This would double the speed of preparation for discriminative training.
We might also decide to create a version of the discriminative training script that would get lattices as it does discriminative training (but not save them to disk)-- useful for datasets that are so large that one epoch would be enough.