Xvector in Kaldi nnet3
Xvector nnet
Training of Xvector nnet
Xvector nnet in Kaldi
Statistics Extraction Layer in Kaldi
Statistics Pooling Layer in Kaldi
Implementation in Kaldi
Construct specific ComputationRequest for Xvector
kaldi::nnet3::RunNnetComputation at nnet3bin/nnet3-xvector-compute.cc
44 output_spec.indexes.resize(1);
Rather than
kaldi::nnet3::DecodableNnetSimple::DoNnetComputation at nnet3/nnet-am-decodable-simple.cc
244 output_spec.indexes.resize(num_subsampled_frames);
Compile ComputationRequest, get NnetComputation
std::shared_ptr<const NnetComputation> computation = compiler_.Compile(request);
From output to input, build dependency once a layer
BuildGraphOneIter();
For each Cindex,add dependency
AddDependencies(cindex_id);
For Statistics*Component
component->GetInputIndexe(...);
Organize Data and Computation as a group of Cindexes, called step.
Optimize Computation
For each step Run NnetComputer:
kPropagate: component->Propagate(...)
kBackprop: component->Backprop(...)
Get output from NnetComputer:
computer.GetOutputDestructive("output", &cu_output);

浙公网安备 33010602011771号