SimpleForwardingDescriptor is the base-case of ForwardingDescriptor, consisting of a source node in the graph with a given scalar weight (which will in the normal case be 1.0). More...
#include <nnet-descriptor.h>


Public Member Functions | |
| virtual Cindex | MapToInput (const Index &index) const | 
| virtual int32 | Dim (const Nnet &nnet) const | 
| virtual ForwardingDescriptor * | Copy () const | 
| virtual void | GetNodeDependencies (std::vector< int32 > *node_indexes) const | 
| This function appends to "node_indexes" all the node indexes.  More... | |
| virtual BaseFloat | GetScaleForNode (int32 node_index) const | 
| This function returns the scale on the node-index 'node_index' when it appears in expressions inside this descriptor, or +infinity if it does not appear.  More... | |
| virtual void | WriteConfig (std::ostream &os, const std::vector< std::string > &node_names) const | 
| SimpleForwardingDescriptor (int32 src_node, BaseFloat scale=1.0) | |
| virtual | ~SimpleForwardingDescriptor () | 
  Public Member Functions inherited from ForwardingDescriptor | |
| virtual int32 | Modulus () const | 
| This function is for use in things like clockwork RNNs, where shifting the time of the inputs and outputs of the network by some multiple integer n would leave things the same, but shifting by non-multiples would change the network structure.  More... | |
| virtual | ~ForwardingDescriptor () | 
| ForwardingDescriptor () | |
Private Attributes | |
| int32 | src_node_ | 
| BaseFloat | scale_ | 
SimpleForwardingDescriptor is the base-case of ForwardingDescriptor, consisting of a source node in the graph with a given scalar weight (which will in the normal case be 1.0).
The string representation in the normal (scale=1.0) case is just the node-name, like `tdnn2`; if the weight is not 1.0 it's something like `Scale(2.0, tdnn2)`
Definition at line 144 of file nnet-descriptor.h.
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
Definition at line 163 of file nnet-descriptor.h.
      
  | 
  virtual | 
Implements ForwardingDescriptor.
Definition at line 92 of file nnet-descriptor.cc.
Implements ForwardingDescriptor.
Definition at line 79 of file nnet-descriptor.cc.
References NetworkNode::Dim(), and Nnet::GetNode().
      
  | 
  virtual | 
This function appends to "node_indexes" all the node indexes.
Implements ForwardingDescriptor.
Definition at line 96 of file nnet-descriptor.cc.
Referenced by ModelCollapser::SumDescriptorIsCollapsible().
This function returns the scale on the node-index 'node_index' when it appears in expressions inside this descriptor, or +infinity if it does not appear.
E.g. if the descriptor is just `Scale(tdnn2, 2.0)` and the node index for `tdnn2` is 4, then GetScaleForNode(4) would return 2.0. If a particular node_index > 0 appears in different sub-expressions of the descriptor with different scales it is an error (it's not supported) and this function would crash.
Implements ForwardingDescriptor.
Definition at line 83 of file nnet-descriptor.cc.
      
  | 
  virtual | 
Implements ForwardingDescriptor.
Definition at line 101 of file nnet-descriptor.cc.
References KALDI_ASSERT.
      
  | 
  private | 
Definition at line 166 of file nnet-descriptor.h.
      
  | 
  private | 
Definition at line 165 of file nnet-descriptor.h.