公式图片转 LaTeX 代码:pix2tex 三种调用姿势与排障速查
【免费下载链接】LaTeX-OCRpix2tex: Using a ViT to convert images of equations into LaTeX code.项目地址: https://gitcode.com/GitHub_Trending/la/LaTeX-OCR
写论文时把文献里的公式一个个敲成 LaTeX,一条长公式能敲上十分钟。LaTeX-OCR(pix2tex)就是干这个的:它用视觉 Transformer 直接读公式截图,吐出可编译的 LaTeX 源码。本文按"零配置 → API 部署"的顺序把上手路径讲完,末尾附一张排障速查表,读完即可照着敲。
能力速览:先知道它能做什么
三句话交代清楚:
- 输入一张公式图片(本地文件或剪贴板),输出一行 LaTeX 代码,CLI 和 GUI 模式下结果会自动写回剪贴板。
- 内置一个"图像分辨率预测"神经网络,会在推理前把输入图缩放到最接近训练分布的尺寸,对野外截图有补偿作用。
- 精度参考官方 README 的测试口径:BLEU 0.88、归一化编辑距离 0.10、token 准确率 0.60。数字来自其默认测试集,复杂公式仍需人工核对。
模型结构是 ViT 编码器(ResNet backbone)加 Transformer 解码器,权重约 200MB,首次运行自动拉取。
⚡️ 上手路径:从一条 pip 命令到 API 部署
1. 零配置命令行
前提是 Python 3.7+ 和 PyTorch:
pip install "pix2tex[gui]" pix2tex 公式.png不带参数直接运行pix2tex会进入交互模式:回车读剪贴板,输入x退出,t=0.5临时调 temperature,h看完整帮助。其他标签按需追加:[api]装 API 依赖,[train]装训练依赖,[all]全要。
2. 图形界面
latexocr区域截图后实时用 MathJax 渲染预览,结果一键复制;识别不稳定时点 Retry 重跑,用 temperature 滑块控制随机性。
3. 批量处理用 API
pip install "pix2tex[api]" python -m pix2tex.api.run这一条命令会同时起两个进程:uvicorn 把 FastAPI 服务挂在 8502 端口(/predict/传文件、/bytes/传字节流),Streamlit 演示页开在 8501。不想装本地依赖就用现成镜像:
docker pull lukasblecher/pix2tex:api docker run --rm -p 8502:8502 lukasblecher/pix2tex:api4. 代码里直接调
from PIL import Image from pix2tex.cli import LatexOCR model = LatexOCR() print(model(Image.open("formula.png")))适合把"公式截图转代码"嵌进自己的文档处理流水线。
实战细节:怎么让识别更稳
- 截图范围:只裁公式主体。模型对低分辨率图表现最好,虽然 resizer 网络会补救,但整页放大再截图的效果不如直接截小图。
- 结果核对:token 准确率 0.60 意味着复杂公式大概率有出入,务必人工过一遍;错了就 Retry,或换个缩放比例重新截图再识别。
- temperature:值越低输出越确定(CLI 默认 0.333),追求稳定就调低;值高则每次重跑可能给不同结果,用来"抽签"选对答案。
- Linux 截图依赖:GUI 优先调 gnome-screenshot;wlroots 系 Wayland 用 grim+slurp,KDE 用 spectacle。选错时设置环境变量
SCREENSHOT_TOOL指定。
📌 排障速查
| 问题 | 可能原因 | 解法 |
|---|---|---|
| 首次运行卡在下载 | 网络到不了权重资源 | 检查代理;手动把 checkpoint 放进~/.cache下的 pix2tex 目录 |
| 识别准确率低 | 截图过大、背景杂、公式太复杂 | 只裁公式、换低分辨率重截、Retry 多次 |
| GUI 无法截图(Linux) | 缺少系统截图工具 | 装 gnome-screenshot,或设SCREENSHOT_TOOL=grim/spectacle |
| 无 GPU 跑不了 | 默认走 CUDA 但机器没有 | 命令行加--no-cuda走 CPU 模式 |
适用判断
它是印刷体公式截图的快枪手,写论文、整理课件、批量处理扫描文档都顺手;手写公式官方仍标记为未完成,多行超复杂版面也建议先拆再识别。想往下接的话:API 的/bytes/端点方便挂进自动化流程,pix2tex[train]标签支持用自己的语料继续训练。进一步阅读:docs/installation.md、pix2tex/model/settings/config.yaml、pix2tex/api/。
【免费下载链接】LaTeX-OCRpix2tex: Using a ViT to convert images of equations into LaTeX code.项目地址: https://gitcode.com/GitHub_Trending/la/LaTeX-OCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考