Skip to content

Conversation

@naxingyu
Copy link

build and test pass with minor modifications to pybind/Makefile

vimalmanohar and others added 30 commits May 11, 2019 20:37
… for ASR and speaker ID (kaldi-asr#3119)

Now multi-style training with noise and reverberation is an option (instead of speed augmentation).
Multi-style training seems to be more robust to unseen/noisy conditions.
With a segments file constructed from exact wave file durations
some segments came out one sample short. The reason is the
multiplication of the float sample frequency and double audio
time point is inexact. For example, float 8000.0 multiplied
by double 2.03 yields 16239.99999999999, one LSB short of the
correct sample number 16240.

Also changed all endpoint calculations so that they performed
in seconds, not sample numbers, as this does not require a
conversion in nearly every comparison, and report positions in
diagnostic messages also in seconds, not sample numbers.
…ures (kaldi-asr#3316)

Generate utt2dur and utt2num_frames during feature extraction,
and store frame period in frame_shift file in feature directory.

Copy relevant .conf files used in feature extraction into
the conf/ subdirectory with features.

Add missing validations and options in some extraction scripts.
Getting utt2dur involves accessing wave files, and potentially
running full pipelines in wav.scp, which may take hours for a
large data set. If utt2num_frames exists, use it instead if
frame rate is known.

Issue: kaldi-asr#3303
Fixes: kaldi-asr#3297 "cat: broken pipe"
)

subset_data_dir.sh has been refactored thoroughly so that its
logic can be followed easier. It has been well tested and
dogfooded.

All changes here are necessary to subset, combine and verify
utt2num_frames, and copy frame_shift to new directories where
necessary.
…kaldi-asr#3311)

This avoids a ping pong of memory to host.

Implementation now assumes device memory.  interfaces will allocate
device memory and copy to it if data starts on host.

Add a cuda matrix copy function which clamps rows.  This is much
faster than copying one row at a time and the kernel can handle the
clamping for free.
* Add CUDA accelerated MFCC computation.

Creates a new directory 'cudafeat' for placing cuda feature extraction
components as it is developed.  Added a directory 'cudafeatbin' for
placing binaries that are cuda accelerated that mirrior binaries
elsewhere.

This commit implements:
  feature-window-cuda.h/cu which implements a feature window on the device
    by copying it from a host feature window.
  feature-mfcc-cuda.h/cu which implements the cuda mfcc feature
    extractor.
  compute-mfcc-feats-cuda.cc which mirriors compute-mfcc-feats.cc

  There were also minor changes to other files.

* Only build cuda binaries if cuda is enabled
…ldi-asr#3351)

small cuda memory copies are inefficeint because each copy can
add multiple micro-seconds of latency.  The code as written
would copy a small matrices or vectors to and from the tasks one
after another.  To avoid this i've implemented a batched matrix
copy routine.  This takes arrays of matrix descriptions for the
input and output and batches the copies in a single kernel call.
This is used in both FormatInputs and FormatOutputs to reduce
launch latency overhead.

The kernel for the batched copy uses a trick to avoid a memory
copy of the host paramters.  The parameters are put into a struct
containing a static sized array.  These parameters are then marshalled
like normal cuda parameters.  This avoids additional launch latency
overhead.

There is still more work to do at the beginning and end of nnet3.
In particular we may want to batch the clamped memory copies and
the large number of D2D copies at the end.  I haven't fully tracked
those down and may return to them in the future.
…r#3358)

- end the training when there is no more data to refill one of the streams,
- this avoids overtraining to the 'last' utterance,
danpovey and others added 27 commits November 21, 2019 20:18
* make nvcc+msvc happier when two-phase name lookup involved,
NOTE: in simple native case (CPU, without cuda), msvc is happy with TemplatedBase<T>::base_value, but nvcc is not...
* position of __restrict__ in msvc is restricted
…t2dur if present, to balance splits" (kaldi-asr#3746)

This reverts commit 1d0b267.
* changed scoring tool for diarization

* added comment for scoring

* fixing number of deletions, adding script to check DP result of the total errors is equivalent to the sum of the individual errors

* updated RESULTS for new diarization scoring

* outputing wer similar to compute-wer routine

* adding routine to select best LM weight and insertion penalty factor based on the development set

* updating results

* changing lang_chain to lang, minor fix

* adding all array option

* change in directory structure of scoring_kaldi_multispeaker to make it similar to scoring_kaldi

* removing test sets from run ivector script

* added ref RTTM creation

* making modifications for all array

* minor fix
@danpovey danpovey merged commit ee0fdfd into danpovey:pybind11 Dec 17, 2019
@csukuangfj
Copy link

aha, I see.

@naxingyu naxingyu deleted the merge-master branch December 17, 2019 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.