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);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM