Handwritten
MobileNetV2 手写汉字识别模型,覆盖 3755 个 GB2312 一级汉字。输入为 64×64 灰度图,训练数据来自 CASIA HWDB1.1。
指标
| 指标 | 数值 |
|---|---|
| PyTorch top-1 | 95.47% |
| PyTorch top-10 | 99.58% |
| NCNN INT8 权重 | 4.1 MB |
| 预估移动端延迟 | 2–5 ms |
直接使用 NCNN
pip install numpy Pillow ncnn
python example.py path/to/image.png
from inference import HCCRRecognizer
model = HCCRRecognizer.from_pretrained(".")
print(model.predict_file("path/to/image.png", k=10))
加载 PyTorch checkpoint
import torch
from model import build_model
checkpoint = torch.load("best.pt", map_location="cpu", weights_only=False)
model = build_model(checkpoint["cfg"]["model"], num_classes=3755)
model.load_state_dict(checkpoint["model"])
model.eval()
文件
| 文件 | 内容 |
|---|---|
best.pt |
PyTorch checkpoint、训练配置、epoch 和 top-1 |
model.py |
PyTorch 模型定义 |
inference.py |
自包含 NCNN 推理入口 |
normalize.py |
与训练一致的图像归一化 |
example.py |
单图命令行示例 |
ncnn/model.ncnn.* |
NCNN INT8 网络和权重 |
ncnn/charset.json |
输出索引到汉字的映射 |
release_metadata.json |
发布来源、指标和文件校验值 |
完整训练、导出与 Android 部署见 https://github.com/Ismantic/Handwritten。
数据许可
本仓库不再分发 CASIA HWDB1.1。请从官方渠道申请数据并遵守其许可。