Softmaxed recognizer output, float32 of shape [1, T, V] (a
plain [T, V] is accepted too). Index 0 of V is the CTC blank.
The CTC lookup: charset[i] labels class i, with the blank
placeholder at index 0. Classes beyond its length count toward the
confidence but emit no text.
The decoded text and the mean probability of the non-blank timesteps (0 when there are none).
Greedily decodes softmaxed CTC probabilities: takes each timestep's most probable class natively (
math.argmax+math.gather), drops the blank (index 0) and consecutive repeats, and averages the kept timesteps' probabilities into a confidence.This is the default recognizer decode; a custom
decodeoption on an OCR model replaces it and may use it as a building block.