专栏名称: LaTeX工作室
欢迎光临分享与学习LaTeX的王国
目录
相关文章推荐
51好读  ›  专栏  ›  LaTeX工作室

Image to LaTeX: 使用PyTorch进行光学字符识别的模型

LaTeX工作室  · 公众号  ·  · 2024-12-22 19:36

正文

请到「今天看啥」查看全文


点击👇 LaTeX工作室 关注公众号
精致美好科研生活 从 LaTeX 开始!

该项目为一个基于 PyTorch 的光学字符识别(OCR)模型,用于从图像中识别 LaTeX 代码,包含自定义数据集生成、模型训练与评估功能。项目提供了一个基于 FastAPI 后端的 Web 应用,用于快速预测图像中的 LaTeX 代码。

模型架构 :模型采用常见的编码器 - 解码器架构,基于 TrOCR 模型,使用 Vision Transformer(ViT)编码器和 Transformer 解码器。编码器将 LaTeX 方程图像转换为一系列嵌入向量,解码器根据这些嵌入向量和标记化的 LaTeX 代码序列生成概率分布,以自回归方式生成预测结果。

安装步骤

  • 克隆仓库: git clone https://github.com/olibridge01/TeXOCR.git 并进入目录。
  • 创建 conda 环境并安装依赖: conda create -n texocr python=3.11 anaconda conda activate texocr pip install -r requirements.txt
  • 安装数据集渲染依赖: latex dvipng imagemagick ,参考 data_wrangling/ 目录中的说明。

数据集准备

  • 数据来源:使用Im2LaTeX - 230k数据集中的方程部分。
  • 生成数据集:执行 ./generate_dataset.sh ,利用 split_data.py 分割数据并使用 render_images.py 渲染图像,分别存储在 data/train data/val data/test 目录中。
  • 创建数据集 pickle 文件:运行 ./generate_pickles.sh

分词器(Tokenizer)

  • 训练分词器:执行 ./train_tokenizer.sh 对 Im2LaTeX - 230k 方程数据进行训练。
  • 自定义训练:可使用 tokenizer/tokenizer.py 脚本在任意文本数据上训练分词器,参数包括 vocab_size (词汇表大小)、 data_path (训练数据路径)、 save_path (保存分词器的路径)和 special_tokens (特殊标记文件路径)。也可使用 RegExTokenizer 类进行训练、保存和加载分词器,并对 LaTeX 字符串进行标记化。

文档中还提及了模型的运行代码步骤,但未详细展开,包含克隆仓库、安装依赖、数据集准备、模型训练、测试以及使用 Docker 容器等操作。项目的模型架构基于相关论文研究成果,包括 TrOCR 模型、Vision Transformer 和 Transformer 相关研究,具体参考文献已在文档中列出。

资源地址

  • https://github.com/olibridge01/TeXOCR

  • https://pan.quark.cn/s/4ea2bcf358a1


点击👇 LaTeX工作室 关注公众号
从 LaTeX 开始即刻享受科研精致美好生活
关注公众号回复 1 进本硕博脱单群

成为 LaTeX 会员,尽享精致科研!

开通 LaTeX VIP 地址:

https://www.latexstudio.net/index/recharge/choice.html







请到「今天看啥」查看全文