The class implements a layer that is looking for the most probable sequences in the response of a connectionist temporal classification network.
void SetBlankLabel( int blankLabel );
Sets the value of the "blank" label that will be used as the space between other labels.
void SetBlankProbabilityThreshold( float threshold );
Sets the probability threshold for blank labels, when building a linear division graph (LDG).
void SetArcProbabilityThreshold( float threshold );
Sets the probability threshold for cutting off arcs when building an LDG.
The layer has no trainable parameters.
The layer has one or two inputs:
- The first input accepts a blob with the network response, of the dimensions:
BatchLength
is the maximum response sequence lengthBatchWidth
is the number of sequences in the setListSize
is equal to1
Height * Width * Depth * Channels
is the number of classes
- [Optional] The second input accepts a blob with
int
data that contains the network response sequences' lengths. If this input is not connected, the network response sequences are considered to be the first input'sBatchLength
long. This input dimensions are:BatchWidth
equal to the first inputBatchWidth
- the other dimensions are equal to
1
The layer has no outputs.
void GetBestSequence(int sequenceNumber, CArray<int>& bestLabelSequence) const;
Retrieves the most probable sequence for the object with the sequenceNumber
index in the set.
bool BuildGLD(int sequenceNumber, CLdGraph<CCtcGLDArc>& gld) const;
Retrieves the linear division graph for the object with the sequenceNumber
index in the set.