#include <nnet-parallel-component.h>


Public Member Functions | |
| ParallelComponent (int32 dim_in, int32 dim_out) | |
| ~ParallelComponent () | |
| Component * | Copy () const |
| Copy component (deep copy),. More... | |
| ComponentType | GetType () const |
| Get Type Identification of the component,. More... | |
| const Nnet & | GetNestedNnet (int32 id) const |
| Nnet & | GetNestedNnet (int32 id) |
| void | InitData (std::istream &is) |
| Initialize the content of the component by the 'line' from the prototype,. More... | |
| void | ReadData (std::istream &is, bool binary) |
| Reads the component content. More... | |
| void | WriteData (std::ostream &os, bool binary) const |
| Writes the component content. More... | |
| int32 | NumParams () const |
| Number of trainable parameters,. More... | |
| void | GetGradient (VectorBase< BaseFloat > *gradient) const |
| Get gradient reshaped as a vector,. More... | |
| void | GetParams (VectorBase< BaseFloat > *params) const |
| Get the trainable parameters reshaped as a vector,. More... | |
| void | SetParams (const VectorBase< BaseFloat > ¶ms) |
| Set the trainable parameters from, reshaped as a vector,. More... | |
| std::string | Info () const |
| Print some additional info (after <ComponentName> and the dims),. More... | |
| std::string | InfoGradient () const |
| Print some additional info about gradient (after <...> and dims),. More... | |
| std::string | InfoPropagate () const |
| std::string | InfoBackPropagate () const |
| void | PropagateFnc (const CuMatrixBase< BaseFloat > &in, CuMatrixBase< BaseFloat > *out) |
| Abstract interface for propagation/backpropagation. More... | |
| void | BackpropagateFnc (const CuMatrixBase< BaseFloat > &in, const CuMatrixBase< BaseFloat > &out, const CuMatrixBase< BaseFloat > &out_diff, CuMatrixBase< BaseFloat > *in_diff) |
| Backward pass transformation (to be implemented by descending class...) More... | |
| void | Update (const CuMatrixBase< BaseFloat > &input, const CuMatrixBase< BaseFloat > &diff) |
| Compute gradient and update parameters,. More... | |
| void | SetTrainOptions (const NnetTrainOptions &opts) |
| Overriding the default, which was UpdatableComponent::SetTrainOptions(...) More... | |
| void | SetLearnRateCoef (BaseFloat val) |
| Overriding the default, which was UpdatableComponent::SetLearnRateCoef(...) More... | |
| void | SetBiasLearnRateCoef (BaseFloat val) |
| Overriding the default, which was UpdatableComponent::SetBiasLearnRateCoef(...) More... | |
| void | SetSeqLengths (const std::vector< int32 > &sequence_lengths) |
| Overriding the default, which was MultistreamComponent::SetSeqLengths(...) More... | |
Public Member Functions inherited from MultistreamComponent | |
| MultistreamComponent (int32 input_dim, int32 output_dim) | |
| bool | IsMultistream () const |
| Check if component has 'Recurrent' interface (trainable and recurrent),. More... | |
| int32 | NumStreams () const |
| virtual void | ResetStreams (const std::vector< int32 > &stream_reset_flag) |
| Optional function to reset the transfer of context (not used for BLSTMs. More... | |
Public Member Functions inherited from UpdatableComponent | |
| UpdatableComponent (int32 input_dim, int32 output_dim) | |
| virtual | ~UpdatableComponent () |
| bool | IsUpdatable () const |
| Check if contains trainable parameters,. More... | |
| const NnetTrainOptions & | GetTrainOptions () const |
| Get the training options from the component,. More... | |
Public Member Functions inherited from Component | |
| Component (int32 input_dim, int32 output_dim) | |
| Generic interface of a component,. More... | |
| virtual | ~Component () |
| int32 | InputDim () const |
| Get the dimension of the input,. More... | |
| int32 | OutputDim () const |
| Get the dimension of the output,. More... | |
| void | Propagate (const CuMatrixBase< BaseFloat > &in, CuMatrix< BaseFloat > *out) |
| Perform forward-pass propagation 'in' -> 'out',. More... | |
| void | Backpropagate (const CuMatrixBase< BaseFloat > &in, const CuMatrixBase< BaseFloat > &out, const CuMatrixBase< BaseFloat > &out_diff, CuMatrix< BaseFloat > *in_diff) |
| Perform backward-pass propagation 'out_diff' -> 'in_diff'. More... | |
| void | Write (std::ostream &os, bool binary) const |
| Write the component to a stream,. More... | |
Private Attributes | |
| std::vector< Nnet > | nnet_ |
Additional Inherited Members | |
Public Types inherited from Component | |
| enum | ComponentType { kUnknown = 0x0, kUpdatableComponent = 0x0100, kAffineTransform, kLinearTransform, kConvolutionalComponent, kLstmProjected, kBlstmProjected, kRecurrentComponent, kActivationFunction = 0x0200, kSoftmax, kHiddenSoftmax, kBlockSoftmax, kSigmoid, kTanh, kParametricRelu, kDropout, kLengthNormComponent, kTranform = 0x0400, kRbm, kSplice, kCopy, kTranspose, kBlockLinearity, kAddShift, kRescale, kKlHmm = 0x0800, kSentenceAveragingComponent, kSimpleSentenceAveragingComponent, kAveragePoolingComponent, kMaxPoolingComponent, kFramePoolingComponent, kParallelComponent, kMultiBasisComponent } |
| Component type identification mechanism,. More... | |
Static Public Member Functions inherited from Component | |
| static const char * | TypeToMarker (ComponentType t) |
| Converts component type to marker,. More... | |
| static ComponentType | MarkerToType (const std::string &s) |
| Converts marker to component type (case insensitive),. More... | |
| static Component * | Init (const std::string &conf_line) |
| Initialize component from a line in config file,. More... | |
| static Component * | Read (std::istream &is, bool binary) |
| Read the component from a stream (static method),. More... | |
Static Public Attributes inherited from Component | |
| static const struct key_value | kMarkerMap [] |
| The table with pairs of Component types and markers (defined in nnet-component.cc),. More... | |
Protected Attributes inherited from MultistreamComponent | |
| std::vector< int32 > | sequence_lengths_ |
Protected Attributes inherited from UpdatableComponent | |
| NnetTrainOptions | opts_ |
| Option-class with training hyper-parameters,. More... | |
| BaseFloat | learn_rate_coef_ |
| Scalar applied to learning rate for weight matrices (to be used in ::Update method),. More... | |
| BaseFloat | bias_learn_rate_coef_ |
| Scalar applied to learning rate for bias (to be used in ::Update method),. More... | |
Protected Attributes inherited from Component | |
| int32 | input_dim_ |
| Data members,. More... | |
| int32 | output_dim_ |
| Dimension of the output of the Component,. More... | |
Definition at line 36 of file nnet-parallel-component.h.
|
inline |
Definition at line 38 of file nnet-parallel-component.h.
Referenced by ParallelComponent::Copy().
|
inline |
Definition at line 42 of file nnet-parallel-component.h.
|
inlinevirtual |
Backward pass transformation (to be implemented by descending class...)
Implements Component.
Definition at line 264 of file nnet-parallel-component.h.
References CuMatrixBase< Real >::ColRange(), CuMatrixBase< Real >::CopyFromMat(), rnnlm::i, and ParallelComponent::nnet_.
|
inlinevirtual |
Copy component (deep copy),.
Implements Component.
Definition at line 45 of file nnet-parallel-component.h.
References ParallelComponent::ParallelComponent().
|
inlinevirtual |
Get gradient reshaped as a vector,.
Implements UpdatableComponent.
Definition at line 158 of file nnet-parallel-component.h.
References VectorBase< Real >::Dim(), rnnlm::i, KALDI_ASSERT, ParallelComponent::nnet_, ParallelComponent::NumParams(), and VectorBase< Real >::Range().
Definition at line 48 of file nnet-parallel-component.h.
References ParallelComponent::nnet_.
Definition at line 49 of file nnet-parallel-component.h.
References ParallelComponent::nnet_.
|
inlinevirtual |
Get the trainable parameters reshaped as a vector,.
Implements UpdatableComponent.
Definition at line 171 of file nnet-parallel-component.h.
References VectorBase< Real >::Dim(), rnnlm::i, KALDI_ASSERT, ParallelComponent::nnet_, ParallelComponent::NumParams(), and VectorBase< Real >::Range().
|
inlinevirtual |
Get Type Identification of the component,.
Implements Component.
Definition at line 46 of file nnet-parallel-component.h.
References Component::kParallelComponent.
|
inlinevirtual |
Print some additional info (after <ComponentName> and the dims),.
Reimplemented from Component.
Definition at line 195 of file nnet-parallel-component.h.
References rnnlm::i, and ParallelComponent::nnet_.
|
inline |
Definition at line 231 of file nnet-parallel-component.h.
References rnnlm::i, and ParallelComponent::nnet_.
|
inlinevirtual |
Print some additional info about gradient (after <...> and dims),.
Reimplemented from Component.
Definition at line 208 of file nnet-parallel-component.h.
References rnnlm::i, and ParallelComponent::nnet_.
|
inline |
Definition at line 221 of file nnet-parallel-component.h.
References rnnlm::i, and ParallelComponent::nnet_.
|
inlinevirtual |
Initialize the content of the component by the 'line' from the prototype,.
Implements UpdatableComponent.
Definition at line 51 of file nnet-parallel-component.h.
References rnnlm::i, Nnet::Init(), Component::InputDim(), KALDI_ASSERT, KALDI_ERR, KALDI_LOG, ParallelComponent::nnet_, Component::OutputDim(), Nnet::Read(), and kaldi::ReadToken().
|
inlinevirtual |
Number of trainable parameters,.
Implements UpdatableComponent.
Definition at line 150 of file nnet-parallel-component.h.
References rnnlm::i, and ParallelComponent::nnet_.
Referenced by ParallelComponent::GetGradient(), ParallelComponent::GetParams(), and ParallelComponent::SetParams().
|
inlinevirtual |
Abstract interface for propagation/backpropagation.
Forward pass transformation (to be implemented by descending class...)
Implements Component.
Definition at line 241 of file nnet-parallel-component.h.
References CuMatrixBase< Real >::ColRange(), CuMatrixBase< Real >::CopyFromMat(), rnnlm::i, and ParallelComponent::nnet_.
|
inlinevirtual |
Reads the component content.
Reimplemented from Component.
Definition at line 109 of file nnet-parallel-component.h.
References kaldi::ExpectToken(), rnnlm::i, Component::InputDim(), KALDI_ASSERT, ParallelComponent::nnet_, Component::OutputDim(), Nnet::Read(), and kaldi::ReadBasicType().
|
inlinevirtual |
Overriding the default, which was UpdatableComponent::SetBiasLearnRateCoef(...)
Reimplemented from UpdatableComponent.
Definition at line 327 of file nnet-parallel-component.h.
References rnnlm::i, rnnlm::j, ParallelComponent::nnet_, and UpdatableComponent::SetBiasLearnRateCoef().
|
inlinevirtual |
Overriding the default, which was UpdatableComponent::SetLearnRateCoef(...)
Reimplemented from UpdatableComponent.
Definition at line 308 of file nnet-parallel-component.h.
References rnnlm::i, rnnlm::j, ParallelComponent::nnet_, and UpdatableComponent::SetLearnRateCoef().
|
inlinevirtual |
Set the trainable parameters from, reshaped as a vector,.
Implements UpdatableComponent.
Definition at line 184 of file nnet-parallel-component.h.
References VectorBase< Real >::Dim(), rnnlm::i, KALDI_ASSERT, ParallelComponent::nnet_, ParallelComponent::NumParams(), and VectorBase< Real >::Range().
|
inlinevirtual |
Overriding the default, which was MultistreamComponent::SetSeqLengths(...)
Reimplemented from MultistreamComponent.
Definition at line 346 of file nnet-parallel-component.h.
References rnnlm::i, ParallelComponent::nnet_, and MultistreamComponent::sequence_lengths_.
|
inlinevirtual |
Overriding the default, which was UpdatableComponent::SetTrainOptions(...)
Reimplemented from UpdatableComponent.
Definition at line 298 of file nnet-parallel-component.h.
References rnnlm::i, and ParallelComponent::nnet_.
|
inlinevirtual |
Compute gradient and update parameters,.
Implements UpdatableComponent.
Definition at line 289 of file nnet-parallel-component.h.
|
inlinevirtual |
Writes the component content.
Reimplemented from Component.
Definition at line 134 of file nnet-parallel-component.h.
References rnnlm::i, ParallelComponent::nnet_, kaldi::WriteBasicType(), and kaldi::WriteToken().
|
private |
Definition at line 355 of file nnet-parallel-component.h.
Referenced by ParallelComponent::BackpropagateFnc(), ParallelComponent::GetGradient(), ParallelComponent::GetNestedNnet(), ParallelComponent::GetParams(), ParallelComponent::Info(), ParallelComponent::InfoBackPropagate(), ParallelComponent::InfoGradient(), ParallelComponent::InfoPropagate(), ParallelComponent::InitData(), ParallelComponent::NumParams(), ParallelComponent::PropagateFnc(), ParallelComponent::ReadData(), ParallelComponent::SetBiasLearnRateCoef(), ParallelComponent::SetLearnRateCoef(), ParallelComponent::SetParams(), ParallelComponent::SetSeqLengths(), ParallelComponent::SetTrainOptions(), and ParallelComponent::WriteData().