🚀 im2latex
本模型是一個基礎的視覺編碼器 - 解碼器模型(VisionEncoderDecoderModel),在一個用於從圖像生成 LaTeX 公式的數據集上進行了微調。
✨ 主要特性
- 能夠根據圖像生成 LaTeX 公式。
- 採用 Swin Transformer 作為編碼器,GPT - 2 作為解碼器。
- 使用 PyTorch 框架,並在訓練中運用了分佈式數據並行(DDP)技術。
📦 安裝指南
文檔未提及安裝步驟,暫不展示。
💻 使用示例
基礎用法
from transformers import VisionEncoderDecoderModel, AutoTokenizer, AutoFeatureExtractor
import torch
from PIL import Image
model = VisionEncoderDecoderModel.from_pretrained("DGurgurov/im2latex")
tokenizer = AutoTokenizer.from_pretrained("DGurgurov/im2latex")
feature_extractor = AutoFeatureExtractor.from_pretrained("microsoft/swin-base-patch4-window7-224-in22k")
image = Image.open("path/to/your/image.png")
pixel_values = feature_extractor(images=image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values)
generated_texts = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
print("Generated LaTeX formula:", generated_texts[0])
📚 詳細文檔
模型詳情
- 編碼器:Swin Transformer
- 解碼器:GPT - 2
- 框架:PyTorch
- 分佈式數據並行(DDP):用於訓練

訓練數據
數據來源於 OleehyO/latex - formulas,並按照 80:10:10 的比例劃分為訓練集、驗證集和測試集。劃分方式如下:
dataset = load_dataset(OleehyO/latex-formulas, cleaned_formulas)
train_val_split = dataset["train"].train_test_split(test_size=0.2, seed=42)
train_ds = train_val_split["train"]
val_test_split = train_val_split["test"].train_test_split(test_size=0.5, seed=42)
val_ds = val_test_split["train"]
test_ds = val_test_split["test"]
評估指標
該模型在測試集上的評估結果如下:
- 測試損失:0.10
- 測試 BLEU 分數:0.67
訓練腳本
此模型的訓練腳本可在以下倉庫中找到:GitHub
引用信息
如果您在研究中使用了此工作,請引用我們的論文:
@misc{gurgurov2024imagetolatexconvertermathematicalformulas,
title={Image-to-LaTeX Converter for Mathematical Formulas and Text},
author={Daniil Gurgurov and Aleksey Morshnev},
year={2024},
eprint={2408.04015},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2408.04015},
}
📄 許可證
本模型採用 MIT 許可證。