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:
BatchLengthis the maximum response sequence lengthBatchWidthis the number of sequences in the setListSizeis equal to1Height * Width * Depth * Channelsis the number of classes
- [Optional] The second input accepts a blob with
intdata that contains the network response sequences' lengths. If this input is not connected, the network response sequences are considered to be the first input'sBatchLengthlong. This input dimensions are:BatchWidthequal 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.