#include <decodable-simple-looped.h>
Public Member Functions | |
DecodableNnetSimpleLooped (const DecodableNnetSimpleLoopedInfo &info, const MatrixBase< BaseFloat > &feats, const VectorBase< BaseFloat > *ivector=NULL, const MatrixBase< BaseFloat > *online_ivectors=NULL, int32 online_ivector_period=1) | |
This constructor takes features as input, and you can either supply a single iVector input, estimated in batch-mode ('ivector'), or 'online' iVectors ('online_ivectors' and 'online_ivector_period', or none at all. More... | |
int32 | NumFrames () const |
int32 | OutputDim () const |
void | GetOutputForFrame (int32 subsampled_frame, VectorBase< BaseFloat > *output) |
BaseFloat | GetOutput (int32 subsampled_frame, int32 pdf_id) |
Private Member Functions | |
KALDI_DISALLOW_COPY_AND_ASSIGN (DecodableNnetSimpleLooped) | |
void | AdvanceChunk () |
void | AdvanceChunkInternal (const MatrixBase< BaseFloat > &input_feats, const VectorBase< BaseFloat > &ivector) |
void | GetCurrentIvector (int32 input_frame, Vector< BaseFloat > *ivector) |
int32 | GetIvectorDim () const |
Private Attributes | |
const DecodableNnetSimpleLoopedInfo & | info_ |
NnetComputer | computer_ |
const MatrixBase< BaseFloat > & | feats_ |
int32 | num_subsampled_frames_ |
const VectorBase< BaseFloat > * | ivector_ |
const MatrixBase< BaseFloat > * | online_ivector_feats_ |
int32 | online_ivector_period_ |
Matrix< BaseFloat > | current_log_post_ |
int32 | num_chunks_computed_ |
int32 | current_log_post_subsampled_offset_ |
Definition at line 161 of file decodable-simple-looped.h.
DecodableNnetSimpleLooped | ( | const DecodableNnetSimpleLoopedInfo & | info, |
const MatrixBase< BaseFloat > & | feats, | ||
const VectorBase< BaseFloat > * | ivector = NULL , |
||
const MatrixBase< BaseFloat > * | online_ivectors = NULL , |
||
int32 | online_ivector_period = 1 |
||
) |
This constructor takes features as input, and you can either supply a single iVector input, estimated in batch-mode ('ivector'), or 'online' iVectors ('online_ivectors' and 'online_ivector_period', or none at all.
Note: it stores references to all arguments to the constructor, so don't delete them till this goes out of scope.
[in] | info | This helper class contains all the static pre-computed information this class needs, and contains a pointer to the neural net. |
[in] | feats | The input feature matrix. |
[in] | ivector | If you are using iVectors estimated in batch mode, a pointer to the iVector, else NULL. |
[in] | ivector | If you are using iVectors estimated in batch mode, a pointer to the iVector, else NULL. |
[in] | online_ivectors | If you are using iVectors estimated 'online' a pointer to the iVectors, else NULL. |
[in] | online_ivector_period | If you are using iVectors estimated 'online' (i.e. if online_ivectors != NULL) gives the periodicity (in frames) with which the iVectors are estimated. |
Definition at line 93 of file decodable-simple-looped.cc.
References DecodableNnetSimpleLooped::feats_, NnetSimpleLoopedComputationOptions::frame_subsampling_factor, DecodableNnetSimpleLooped::info_, KALDI_ASSERT, DecodableNnetSimpleLooped::num_subsampled_frames_, and DecodableNnetSimpleLoopedInfo::opts.
|
private |
Definition at line 137 of file decodable-simple-looped.cc.
References NnetComputer::AcceptInput(), NnetSimpleLoopedComputationOptions::acoustic_scale, CuMatrixBase< Real >::AddVecToRows(), DecodableNnetSimpleLooped::computer_, MatrixBase< Real >::CopyFromMat(), MatrixBase< Real >::CopyRowsFromVec(), DecodableNnetSimpleLooped::current_log_post_, DecodableNnetSimpleLooped::current_log_post_subsampled_offset_, VectorBase< Real >::Dim(), DecodableNnetSimpleLooped::feats_, NnetSimpleLoopedComputationOptions::frame_subsampling_factor, DecodableNnetSimpleLoopedInfo::frames_left_context, DecodableNnetSimpleLoopedInfo::frames_per_chunk, DecodableNnetSimpleLoopedInfo::frames_right_context, DecodableNnetSimpleLooped::GetCurrentIvector(), NnetComputer::GetOutputDestructive(), DecodableNnetSimpleLoopedInfo::has_ivectors, DecodableNnetSimpleLooped::info_, ComputationRequest::inputs, KALDI_ASSERT, kaldi::kUndefined, DecodableNnetSimpleLoopedInfo::log_priors, DecodableNnetSimpleLooped::num_chunks_computed_, MatrixBase< Real >::NumCols(), MatrixBase< Real >::NumRows(), DecodableNnetSimpleLoopedInfo::opts, DecodableNnetSimpleLoopedInfo::output_dim, DecodableNnetSimpleLoopedInfo::request1, DecodableNnetSimpleLoopedInfo::request2, Matrix< Real >::Resize(), CuMatrixBase< Real >::Row(), NnetComputer::Run(), CuMatrixBase< Real >::Scale(), and Matrix< Real >::Swap().
Referenced by DecodableNnetSimpleLooped::GetOutputForFrame().
|
private |
Definition at line 225 of file decodable-simple-looped.cc.
References DecodableNnetSimpleLoopedInfo::has_ivectors, DecodableNnetSimpleLooped::info_, DecodableNnetSimpleLooped::ivector_, KALDI_ASSERT, KALDI_ERR, DecodableNnetSimpleLooped::online_ivector_feats_, and DecodableNnetSimpleLooped::online_ivector_period_.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk().
|
private |
Definition at line 127 of file decodable-simple-looped.cc.
References DecodableNnetSimpleLooped::ivector_, and DecodableNnetSimpleLooped::online_ivector_feats_.
Definition at line 208 of file decodable-simple-looped.h.
References KALDI_ASSERT, and KALDI_DISALLOW_COPY_AND_ASSIGN.
Referenced by DecodableAmNnetSimpleLooped::LogLikelihood().
void GetOutputForFrame | ( | int32 | subsampled_frame, |
VectorBase< BaseFloat > * | output | ||
) |
Definition at line 116 of file decodable-simple-looped.cc.
References DecodableNnetSimpleLooped::AdvanceChunk(), VectorBase< Real >::CopyFromVec(), DecodableNnetSimpleLooped::current_log_post_, DecodableNnetSimpleLooped::current_log_post_subsampled_offset_, KALDI_ASSERT, MatrixBase< Real >::NumRows(), and MatrixBase< Real >::Row().
Referenced by kaldi::nnet3::TestNnetDecodable().
|
private |
|
inline |
Definition at line 194 of file decodable-simple-looped.h.
|
inline |
Definition at line 196 of file decodable-simple-looped.h.
|
private |
Definition at line 237 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk().
Definition at line 256 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk(), and DecodableNnetSimpleLooped::GetOutputForFrame().
|
private |
Definition at line 264 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk(), and DecodableNnetSimpleLooped::GetOutputForFrame().
|
private |
Definition at line 239 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk(), and DecodableNnetSimpleLooped::DecodableNnetSimpleLooped().
|
private |
Definition at line 235 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk(), DecodableNnetSimpleLooped::DecodableNnetSimpleLooped(), and DecodableNnetSimpleLooped::GetCurrentIvector().
|
private |
Definition at line 246 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::GetCurrentIvector(), and DecodableNnetSimpleLooped::GetIvectorDim().
|
private |
Definition at line 259 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::AdvanceChunk().
|
private |
Definition at line 242 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::DecodableNnetSimpleLooped().
|
private |
Definition at line 249 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::GetCurrentIvector(), and DecodableNnetSimpleLooped::GetIvectorDim().
|
private |
Definition at line 252 of file decodable-simple-looped.h.
Referenced by DecodableNnetSimpleLooped::GetCurrentIvector().