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.