Xvector nnet ui
Training of Xvector nnet spa
Xvector nnet in Kaldi component
Statistics Extraction Layer in Kaldi blog
Statistics Pooling Layer in Kaldi ci
Implementation in Kaldi get
Construct specific ComputationRequest for Xvector input
kaldi::nnet3::RunNnetComputation at nnet3bin/nnet3-xvector-compute.cc io
44 output_spec.indexes.resize(1); class
Rather than request
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);