punct_cap_seg_en β CoreML (int8) for PUSHTYPE
A CoreML conversion of 1-800-BAD-CODE/punctuation_fullstop_truecase_english (Apache 2.0), used by the PUSHTYPE dictation app to place commas, periods and question marks after on-device speech recognition. All credit for the model goes to its original author; this repository only repackages it.
Contents
PunctCapSeg.mlmodelc/β compiled CoreML model (macOS 15+): int8 weights (per-block 32), FP32 activations.vocab.tsvβ the model's SentencePiece unigram vocabulary (spe_32k_lc_en.model), onepiece<TAB>score<TAB>typeper line.LICENSEβ Apache License 2.0.
Conversion
From the original at commit b26fd1c40e88678859048898218ea4edcc24c84a
(punct_cap_seg_en.onnx): ONNX β PyTorch (onnx2torch) β coremltools 9.0,
FP32 compute precision, then int8 linear weight quantization. Output matched
the original ONNX model on all 15 test sentences; about 9 ms per sentence on
Apple Silicon.
FP16 activations are avoided on purpose: the graph's attention-mask constant overflows in half precision and quality degrades silently.
Input and output
input_ids: int32[1, 256]β BOS (1), the lowercased text's token ids, EOS (2), padded with 3.post_preds[1, 256]: after each token, null / acronym /./,/?.cap_preds[1, 256, 16]: per-character capitalization.seg_preds,pre_preds: sentence boundaries, and an unused pre-label.
Changes from the original
Format only (ONNX to CoreML, weights quantized to int8) and the vocabulary exported to text. No retraining.
License
Apache 2.0, as the original.