HunyuanOCR-ncnn —— fp16 模型
本目录是 HunyuanOCR 的 全 fp16(半精度) ncnn 推理模型,由官方模型经
export_onnx.py --fp16 导出 ONNX 后转换得到。
体积
总体积约 2.2 GB(相对 fp32 的 5.9 GB 缩减约 63%)。
精度说明
- 全模型权重以 fp16 存储;CPU 推理时
vision_encoder/embed/lm_head/projector实际按 fp16 计算,LLMdecoder因内部结构(静态序列长度 512、无真正 KV cache) 在 CPU 上仍走 fp32 计算路径。 - 实测输出与 fp32 模型逐字节一致(英文
En.png、中文qikai.png均已验证)。 - 适合对精度要求高、显存/磁盘敏感但又不希望引入 int8 校准风险的场景。
文件清单
配置与词表
| 文件 | 说明 |
|---|---|
model.json |
模型元信息(结构、维度、词表大小等) |
vocab.txt |
分词器词表(120818 词条) |
merges.txt |
BPE 合并规则 |
image_begin.bin / image_end.bin / image_newline.bin |
图像占位符 token 的 embedding |
视觉编码器(Vision Encoder)
| 文件 | 大小 | 说明 |
|---|---|---|
vision_encoder.ncnn.param / .bin |
844M | CLIP 视觉编码器(fp16) |
perceptron_weights.bin |
118M | 感知机/投影前权重 |
pos_embed_32x32.bin |
4.5M | 32×32 位置编码 |
projector.ncnn.param / .bin |
2.1M | 视觉特征 → 文本空间投影层(fp16) |
LLM 解码器
| 文件 | 大小 | 说明 |
|---|---|---|
decoder.ncnn.param / .bin |
809M | 主解码网络(含 prefill + decode,CPU 走 fp32) |
decoder_prefill.ncnn.param |
75K | prefill 阶段子图 |
decoder_decode.ncnn.param |
78K | decode 阶段子图 |
embed.ncnn.param / .bin |
236M | 词嵌入层(fp16) |
lm_head.ncnn.param / .bin |
236M | 输出词表投影头(fp16) |
运行方式
./build-cpu/hunyuan_ocr.exe \
--model assets/hunyuan_ocr_ncnn_fp16 \
--image source/En.png \
--prompt "请识别图片中的文字内容" \
--quant fp16 \
--threads 8 \
--max-tokens 4096
--quant fp16:运行时开启 fp16 计算路径(见src/quant_opt.h)。- GPU(Vulkan)推理:追加
--use-vulkan 1(此时仅 fp16 路径生效,int8 无效)。
与 int8 模型的关系
- 本目录是 int8 混合方案的精度基准:int8 模型(
hunyuan_ocr_ncnn_int8)仅把embed/lm_head转为 int8,其余(含vision_encoder、decoder、projector) 直接复用本目录的文件,因此输出与本目录逐字节一致。 - 若你的设备对体积更敏感且能接受 int8 的轻微风险,见
../hunyuan_ocr_ncnn_int8/README.md。
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support