[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-LinXueyuanStdio--LaTeX_OCR":3,"tool-LinXueyuanStdio--LaTeX_OCR":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":115,"github_topics":116,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":163},9713,"LinXueyuanStdio\u002FLaTeX_OCR","LaTeX_OCR",":gem: 数学公式识别 Math Formula OCR","LaTeX_OCR 是一款专注于数学公式识别的开源工具，能够将包含复杂数学符号的图片自动转换为可编辑的 LaTeX 代码。它有效解决了科研论文、教材及笔记中数学公式难以直接复制和二次编辑的痛点，大幅提升了学术文档的数字化处理效率。\n\n该项目特别适合开发者、人工智能研究人员以及需要频繁处理数学文档的师生使用。对于希望深入理解图像识别机制的技术人员，LaTeX_OCR 还提供了完整的训练流程、数据集生成脚本以及丰富的可视化功能。其核心技术基于 Seq2Seq 架构，融合了注意力机制（Attention）和束搜索（Beam Search）算法，不仅能精准捕捉公式中的空间结构关系，还能通过可视化界面直观展示模型在预测过程中对图像不同区域的关注焦点。无论是想快速搭建测试环境的小规模验证，还是进行大规模数据集训练，LaTeX_OCR 都提供了清晰的指引和灵活的配置选项，是探索光学字符识别技术在数学领域应用的理想起点。","# LaTeX OCR\r\n> 本项目增强版：[LaTeX_OCR_PRO](https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR_PRO)\r\n* [1. 搭建环境](#1-搭建环境)\r\n    * [Linux](#linux)\r\n    * [Mac](#mac)\r\n* [2. 开始训练](#2-开始训练)\r\n    * [生成小数据集、训练、评价](#生成小数据集训练评价)\r\n    * [生成完整数据集、训练、评价](#生成完整数据集训练评价)\r\n* [3. 可视化](#3-可视化)\r\n    * [可视化训练过程](#可视化训练过程)\r\n    * [可视化预测过程](#可视化预测过程)\r\n* [4. 评价](#4-评价)\r\n* [5. 模型的具体实现细节](#5-模型的具体实现细节)\r\n    * [总述](#总述)\r\n    * [数据获取和数据处理](#数据获取和数据处理)\r\n    * [模型构建](#模型构建)\r\n* [6. 踩坑记录](#6-踩坑记录)\r\n    * [win10 用 GPU 加速训练](#win10-用-gpu-加速训练)\r\n    * [如何可视化Attention层](#如何可视化attention层)\r\n* [致谢](#致谢)\r\n\r\nSeq2Seq + Attention + Beam Search。\r\n\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_93537c218c2a.png)\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_86e9a16a0bf2.gif)\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_30285a3dc24e.png)\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_e8c00c070443.gif)\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_ba3bf60e8cff.png)\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_a67fea756d36.gif)\r\n\r\n结构\r\n\r\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_d8a37127e056.jpg)\r\n\r\n## 1. 搭建环境\r\n\r\n1. python3.5 + tensorflow1.12.2\r\n2. latex (latex 转 pdf)\r\n3. ghostscript (图片处理)\r\n4. magick (pdf 转 png)\r\n\r\n### Linux\r\n\r\n一键安装\r\n```shell\r\nmake install-linux\r\n```\r\n或\r\n1. 安装本项目依赖\r\n```shell\r\nvirtualenv env35 --python=python3.5\r\nsource env35\u002Fbin\u002Factivate\r\npip install -r requirements.txt\r\n```\r\n2. 安装 latex (latex 转 pdf)\r\n```shell\r\nsudo apt-get install texlive-latex-base\r\nsudo apt-get install texlive-latex-extra\r\n```\r\n3. 安装 ghostscript\r\n```shell\r\nsudo apt-get update\r\nsudo apt-get install ghostscript\r\nsudo apt-get install libgs-dev\r\n```\r\n4. 安装[magick](https:\u002F\u002Fwww.imagemagick.org\u002Fscript\u002Finstall-source.php) (pdf 转 png)\r\n```shell\r\nwget http:\u002F\u002Fwww.imagemagick.org\u002Fdownload\u002FImageMagick.tar.gz\r\ntar -xvf ImageMagick.tar.gz\r\ncd ImageMagick-7.*; \\\r\n.\u002Fconfigure --with-gslib=yes; \\\r\nmake; \\\r\nsudo make install; \\\r\nsudo ldconfig \u002Fusr\u002Flocal\u002Flib\r\nrm ImageMagick.tar.gz\r\nrm -r ImageMagick-7.*\r\n```\r\n\r\n### Mac\r\n\r\n一键安装\r\n\r\n```shell\r\nmake install-mac\r\n```\r\n\r\n或\r\n1. 安装本项目依赖\r\n```shell\r\nsudo pip install -r requirements.txt\r\n```\r\n2. LaTeX 请自行安装\r\n\r\n3. 安装[magick](https:\u002F\u002Fwww.imagemagick.org\u002Fscript\u002Finstall-source.php) (pdf 转 png)\r\n\r\n```shell\r\nwget http:\u002F\u002Fwww.imagemagick.org\u002Fdownload\u002FImageMagick.tar.gz\r\ntar -xvf ImageMagick.tar.gz\r\ncd ImageMagick-7.*; \\\r\n.\u002Fconfigure --with-gslib=yes; \\\r\nmake;\\\r\nsudo make install; \\\r\nrm ImageMagick.tar.gz\r\nrm -r ImageMagick-7.*\r\n```\r\n## 2. 开始训练\r\n\r\n### 生成小数据集、训练、评价\r\n\r\n提供了样本量为 100 的小数据集，方便测试。只需 2 分钟就可以根据 `.\u002Fdata\u002Fsmall.formulas\u002F` 下的公式生成用于训练的图片。\r\n\r\n一步训练\r\n\r\n```\r\nmake small\r\n```\r\n或\r\n\r\n1. 生成数据集\r\n\r\n   用 LaTeX 公式生成图片，同时保存公式-图片映射文件，生成字典 __只用运行一次__\r\n\r\n    ```shell\r\n    # 默认\r\n    python build.py\r\n    # 或者\r\n    python build.py --data=configs\u002Fdata_small.json --vocab=configs\u002Fvocab_small.json\r\n    ```\r\n\r\n2. 训练\r\n    ```\r\n    # 默认\r\n    python train.py\r\n    # 或者\r\n    python train.py --data=configs\u002Fdata_small.json --vocab=configs\u002Fvocab_small.json --training=configs\u002Ftraining_small.json --model=configs\u002Fmodel.json --output=results\u002Fsmall\u002F\r\n    ```\r\n\r\n3. 评价预测的公式\r\n    ```\r\n    # 默认\r\n    python evaluate_txt.py\r\n    # 或者\r\n    python evaluate_txt.py --results=results\u002Fsmall\u002F\r\n    ```\r\n\r\n4. 评价数学公式图片\r\n\r\n    ```\r\n    # 默认\r\n    python evaluate_img.py\r\n    # 或者\r\n    python evaluate_img.py --results=results\u002Fsmall\u002F\r\n    ```\r\n\r\n\r\n### 生成完整数据集、训练、评价\r\n\r\n根据公式生成 70,000+ 数学公式图片需要 `2`-`3` 个小时\r\n\r\n一步训练\r\n\r\n```\r\nmake full\r\n```\r\n或\r\n\r\n1. 生成数据集\r\n\r\n   用 LaTeX 公式生成图片，同时保存公式-图片映射文件，生成字典 __只用运行一次__\r\n    ```\r\n    python build.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json\r\n    ```\r\n\r\n2. 训练\r\n    ```\r\n    python train.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json --training=configs\u002Ftraining.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\r\n    ```\r\n\r\n3. 评价预测的公式\r\n    ```\r\n    python evaluate_txt.py --results=results\u002Ffull\u002F\r\n    ```\r\n\r\n4. 评价数学公式图片\r\n    ```\r\n    python evaluate_img.py --results=results\u002Ffull\u002F\r\n    ```\r\n## 3. 可视化\r\n\r\n### 可视化训练过程\r\n\r\n用 tensorboard 可视化训练过程\r\n\r\n小数据集\r\n\r\n```\r\ncd results\u002Fsmall\r\ntensorboard --logdir .\u002F\r\n```\r\n\r\n完整数据集\r\n\r\n```\r\ncd results\u002Ffull\r\ntensorboard --logdir .\u002F\r\n```\r\n### 可视化预测过程\r\n\r\n打开 `visualize_attention.ipynb`，一步步观察模型是如何预测 LaTeX 公式的。\r\n\r\n或者运行\r\n\r\n```shell\r\n# 默认\r\npython visualize_attention.py\r\n# 或者\r\npython visualize_attention.py --image=data\u002Fimages_test\u002F6.png --vocab=configs\u002Fvocab.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\r\n```\r\n\r\n可在 `--output` 下生成预测过程的注意力图。\r\n\r\n## 4. 评价\r\n\r\n|      指标       | 训练分数 | 测试分数 |\r\n| :-------------: | :------: | :------: |\r\n|   perplexity    |   1.39   |   1.44   |\r\n|  EditDistance   |  81.68   |  80.45   |\r\n|     BLEU-4      |  78.21   |  75.42   |\r\n| ExactMatchScore |  13.93   |  12.44   |\r\n\r\nperplexity 是越接近1越好，其余3个指标是越大越好。ExactMatchScore 比较低，继续训练应该可以到 70 以上。机器不太好，训练太费时间了。\r\n\r\n\r\n## 5. 模型的具体实现细节\r\n\r\n### 总述\r\n\r\n首先我们获取到足够的公式，对公式进行规范化处理，方便划分出字典。然后通过规范化的公式使用脚本生成图片，具体用到了latex和ghostscript和magick，同时保存哪个公式生成哪个图片，保存为公式-图片映射文件。这样我们得到了3个数据集：规范化的公式集，图片集，公式-图片映射集，还有个附赠品：latex字典。这个字典决定了模型的上限，也就是说，模型预测出的公式只能由字典里的字符组成，不会出现字典以外的字符。\r\n\r\n然后构建模型。\r\n\r\n模型分为3部分，数据生成器，神经网络模型，使用脚本。\r\n\r\n数据生成器读取公式-图片映射文件，为模型提供(公式, 图片)的矩阵元组。\r\n\r\n神经网络模型是 Seq2Seq + Attention + Beam Search。Seq2Seq的Encoder是CNN，Decoder是LSTM。Encoder和Decoder之间插入Attention层，具体操作是这样：Encoder到Decoder有个扁平化的过程，Attention就是在这里插入的。随Attention插入的还有我们自定义的一个op，用来导出Attention的数据，做Attention的可视化。\r\n\r\n使用脚本包括构建脚本、训练脚本、测试脚本、预测脚本、评估脚本、可视化脚本。使用说明看上面的命令行就行。\r\n\r\n训练过程根据epoch动态调整LearningRate。decoder可以选择用`lstm`或`gru`，在`configs\u002Fmodel.json`里改就行。最后输出结果可以选择用 `beam_search` 或 `greedy`，也是在`configs\u002Fmodel.json`里改。\r\n\r\n### 数据获取和数据处理\r\n\r\n我们只要获取到正确的latex公式就行。因为我们可以使用脚本将latex渲染出图片，所以就不用图片数据了。\r\n\r\n原来我们想使用爬虫爬取[arXiv](https:\u002F\u002Farxiv.org\u002F)的论文，然后通过正则表达式提取论文里的latex公式。\r\n\r\n但是最后我们发现已经有人做了这个工作，所以就用了他们的公式数据。[im2latex-100k , arXiv:1609.04938](https:\u002F\u002Fzenodo.org\u002Frecord\u002F56198#.XKMMU5gzZBB)\r\n\r\n现在我们获取到latex公式数据，下面进行规范化。\r\n\r\n> 为什么要规范化：如果不规范化，我们构建字典时就只能是char wise，而latex中有很多是有特定排列的指令，比如`\\lim`，这样模型需要花费额外的神经元来记住这些pattern，会使模型效果变差，也导致训练费时间。（有时根本不收敛...别问我怎么知道的...）\r\n\r\n我们先手动在代码编辑器里对数据进行规范化，很玄学地用了一些正则表达式，一步一步进行规范化。\r\n\r\n最后总结了一下，明确要构建的字典大概是什么样的，然后写了脚本来处理。\r\n\r\n然后是通过公式生成图片，保存公式-图片映射文件，构建字典。\r\n\r\n构建字典很简单，遍历公式文件的每一行，然后以空格符` `为分隔符分割成若干latex块，去掉每一块首尾空格，若非空则加入字典集，保证不重复。\r\n\r\n保存公式-图片映射文件也很简单，就是在渲染出图片后，保存`当前的公式在公式文件里的行号`和`图片路径`，写入映射文件里，也就是`.matching.txt`文件。图片文件名是直接用公式行号来命名的，比如`1234.png 1234`表示第1234行公式的公式图片是1234.png。所以知道了行号，就知道了公式图片路径。\r\n\r\n通过公式生成图片稍微复杂一点，需要用到几个库：latex、ghostscript和magick。事实上用Katex也是可以的，katex是一个渲染latex公式的js库，体积小速度快。原来我们也是打算用这个库处理，后来因为环境问题放弃了。\r\n\r\nlatex原先我的环境里有了，这是用来生成pdf文件的。执行脚本后会得到A4纸大小的一页pdf。\r\n\r\nghostscript和magick绑定在一起，用来把pdf转化为png格式的图片。\r\n\r\n转化为图片后，选定公式 padding 8个像素的方框，crop框外的空白，然后灰度化。\r\n\r\n### 模型构建\r\n\r\n让我鸽一段时间。。。有空再写！\r\n\r\n\r\n## 6. 踩坑记录\r\n\r\n### win10 用 GPU 加速训练\r\n\r\n装驱动后就行了。运行下面代码进行训练：\r\n\r\n```\r\nC:\u002FUsers\u002Fdlink\u002FAppData\u002FLocal\u002FPrograms\u002FPython\u002FPython35\u002Fpython.exe train.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json --training=configs\u002Ftraining.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\r\n```\r\n\r\n我的环境比较奇葩，是win10+ubuntu wsl，也就是windows+linux子系统。我的GPU驱动装在win里面了，linux里没装，不过文件系统是共用的，所以用win的GPU驱动来训练模型。（嗯，python也有两套版本哈哈哈，都是python3.5）\r\n\r\n### 如何可视化Attention层\r\n\r\n在Attention层内自定义一个op，通过这个op把Attention传递到一个全局变量里。其他程序在模型预测完公式后，就可以在这个全局变量里获取到Attention。\r\n\r\n## 致谢\r\n\r\n十分感谢 Harvard 和 Guillaume Genthial 、Kelvin Xu 等人提供巨人的肩膀。\r\n\r\n论文：\r\n1. [Show, Attend and Tell(Kelvin Xu...)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1502.03044)\r\n2. [Harvard's paper and dataset](http:\u002F\u002Flstm.seas.harvard.edu\u002Flatex\u002F)\r\n1. [Seq2Seq for LaTeX generation](https:\u002F\u002Fguillaumegenthial.github.io\u002Fimage-to-latex.html).\r\n","# LaTeX OCR\n> 本项目增强版：[LaTeX_OCR_PRO](https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR_PRO)\n* [1. 搭建环境](#1-搭建环境)\n    * [Linux](#linux)\n    * [Mac](#mac)\n* [2. 开始训练](#2-开始训练)\n    * [生成小数据集、训练、评价](#生成小数据集训练评价)\n    * [生成完整数据集、训练、评价](#生成完整数据集训练评价)\n* [3. 可视化](#3-可视化)\n    * [可视化训练过程](#可视化训练过程)\n    * [可视化预测过程](#可视化预测过程)\n* [4. 评价](#4-评价)\n* [5. 模型的具体实现细节](#5-模型的具体实现细节)\n    * [总述](#总述)\n    * [数据获取和数据处理](#数据获取和数据处理)\n    * [模型构建](#模型构建)\n* [6. 踩坑记录](#6-踩坑记录)\n    * [win10 用 GPU 加速训练](#win10-用-gpu-加速训练)\n    * [如何可视化Attention层](#如何可视化attention层)\n* [致谢](#致谢)\n\nSeq2Seq + Attention + Beam Search。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_93537c218c2a.png)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_86e9a16a0bf2.gif)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_30285a3dc24e.png)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_e8c00c070443.gif)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_ba3bf60e8cff.png)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_a67fea756d36.gif)\n\n结构\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_readme_d8a37127e056.jpg)\n\n## 1. 搭建环境\n\n1. python3.5 + tensorflow1.12.2\n2. latex (latex 转 pdf)\n3. ghostscript (图片处理)\n4. magick (pdf 转 png)\n\n### Linux\n\n一键安装\n```shell\nmake install-linux\n```\n或\n1. 安装本项目依赖\n```shell\nvirtualenv env35 --python=python3.5\nsource env35\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n2. 安装 latex (latex 转 pdf)\n```shell\nsudo apt-get install texlive-latex-base\nsudo apt-get install texlive-latex-extra\n```\n3. 安装 ghostscript\n```shell\nsudo apt-get update\nsudo apt-get install ghostscript\nsudo apt-get install libgs-dev\n```\n4. 安装[magick](https:\u002F\u002Fwww.imagemagick.org\u002Fscript\u002Finstall-source.php) (pdf 转 png)\n```shell\nwget http:\u002F\u002Fwww.imagemagick.org\u002Fdownload\u002FImageMagick.tar.gz\ntar -xvf ImageMagick.tar.gz\ncd ImageMagick-7.*; \\\n.\u002Fconfigure --with-gslib=yes; \\\nmake; \\\nsudo make install; \\\nsudo ldconfig \u002Fusr\u002Flocal\u002Flib\nrm ImageMagick.tar.gz\nrm -r ImageMagick-7.*\n```\n\n### Mac\n\n一键安装\n\n```shell\nmake install-mac\n```\n\n或\n1. 安装本项目依赖\n```shell\nsudo pip install -r requirements.txt\n```\n2. LaTeX 请自行安装\n\n3. 安装[magick](https:\u002F\u002Fwww.imagemagick.org\u002Fscript\u002Finstall-source.php) (pdf 转 png)\n\n```shell\nwget http:\u002F\u002Fwww.imagemagick.org\u002Fdownload\u002FImageMagick.tar.gz\ntar -xvf ImageMagick.tar.gz\ncd ImageMagick-7.*; \\\n.\u002Fconfigure --with-gslib=yes; \\\nmake;\\\nsudo make install; \\\nrm ImageMagick.tar.gz\nrm -r ImageMagick-7.*\n```\n\n## 2. 开始训练\n\n### 生成小数据集、训练、评价\n\n提供了样本量为 100 的小数据集，方便测试。只需 2 分钟就可以根据 `.\u002Fdata\u002Fsmall.formulas\u002F` 下的公式生成用于训练的图片。\n\n一步训练\n\n```bash\nmake small\n```\n或\n\n1. 生成数据集\n\n   用 LaTeX 公式生成图片，同时保存公式-图片映射文件，生成字典 __只用运行一次__\n\n    ```shell\n    # 默认\n    python build.py\n    # 或者\n    python build.py --data=configs\u002Fdata_small.json --vocab=configs\u002Fvocab_small.json\n    ```\n\n2. 训练\n    ```bash\n    # 默认\n    python train.py\n    # 或者\n    python train.py --data=configs\u002Fdata_small.json --vocab=configs\u002Fvocab_small.json --training=configs\u002Ftraining_small.json --model=configs\u002Fmodel.json --output=results\u002Fsmall\u002F\n    ```\n\n3. 评价预测的公式\n    ```bash\n    # 默认\n    python evaluate_txt.py\n    # 或者\n    python evaluate_txt.py --results=results\u002Fsmall\u002F\n    ```\n\n4. 评价数学公式图片\n\n    ```bash\n    # 默认\n    python evaluate_img.py\n    # 或者\n    python evaluate_img.py --results=results\u002Fsmall\u002F\n    ```\n\n\n### 生成完整数据集、训练、评价\n\n根据公式生成 70,000+ 数学公式图片需要 `2`-`3` 个小时\n\n一步训练\n\n```bash\nmake full\n```\n或\n\n1. 生成数据集\n\n   用 LaTeX 公式生成图片，同时保存公式-图片映射文件，生成字典 __只用运行一次__\n    ```bash\n    python build.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json\n    ```\n\n2. 训练\n    ```bash\n    python train.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json --training=configs\u002Ftraining.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\n    ```\n\n3. 评价预测的公式\n    ```bash\n    python evaluate_txt.py --results=results\u002Ffull\u002F\n    ```\n\n4. 评价数学公式图片\n    ```bash\n    python evaluate_img.py --results=results\u002Ffull\u002F\n    ```\n\n## 3. 可视化\n\n### 可视化训练过程\n\n用 tensorboard 可视化训练过程\n\n小数据集\n\n```bash\ncd results\u002Fsmall\ntensorboard --logdir .\u002F\n```\n\n完整数据集\n\n```bash\ncd results\u002Ffull\ntensorboard --logdir .\u002F\n```\n\n### 可视化预测过程\n\n打开 `visualize_attention.ipynb`，一步步观察模型是如何预测 LaTeX 公式的。\n\n或者运行\n\n```shell\n# 默认\npython visualize_attention.py\n# 或者\npython visualize_attention.py --image=data\u002Fimages_test\u002F6.png --vocab=configs\u002Fvocab.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\n```\n\n可在 `--output` 下生成预测过程的注意力图。\n\n## 4. 评价\n\n|      指标       | 训练分数 | 测试分数 |\n| :-------------: | :------: | :------: |\n|   perplexity    |   1.39   |   1.44   |\n|  EditDistance   |  81.68   |  80.45   |\n|     BLEU-4      |  78.21   |  75.42   |\n| ExactMatchScore |  13.93   |  12.44   |\n\nperplexity 是越接近1越好，其余3个指标是越大越好。ExactMatchScore 比较低，继续训练应该可以到 70 以上。机器不太好，训练太费时间了。\n\n\n## 5. 模型的具体实现细节\n\n### 总述\n\n首先我们获取到足够的公式，对公式进行规范化处理，方便划分出字典。然后通过规范化的公式使用脚本生成图片，具体用到了latex和ghostscript和magick，同时保存哪个公式生成哪个图片，保存为公式-图片映射文件。这样我们得到了3个数据集：规范化的公式集，图片集，公式-图片映射集，还有个附赠品：latex字典。这个字典决定了模型的上限，也就是说，模型预测出的公式只能由字典里的字符组成，不会出现字典以外的字符。\n\n然后构建模型。\n\n模型分为3部分，数据生成器，神经网络模型，使用脚本。\n\n数据生成器读取公式-图片映射文件，为模型提供(公式, 图片)的矩阵元组。\n\n神经网络模型是 Seq2Seq + Attention + Beam Search。Seq2Seq的Encoder是CNN，Decoder是LSTM。Encoder和Decoder之间插入Attention层，具体操作是这样：Encoder到Decoder有个扁平化的过程，Attention就是在这里插入的。随Attention插入的还有我们自定义的一个op，用来导出Attention的数据，做Attention的可视化。\n\n使用脚本包括构建脚本、训练脚本、测试脚本、预测脚本、评估脚本、可视化脚本。使用说明看上面的命令行就行。\n\n训练过程根据epoch动态调整LearningRate。decoder可以选择用`lstm`或`gru`，在`configs\u002Fmodel.json`里改就行。最后输出结果可以选择用 `beam_search` 或 `greedy`，也是在`configs\u002Fmodel.json`里改。\n\n\n### 数据获取和数据处理\n\n我们只要获取到正确的latex公式就行。因为我们可以使用脚本将latex渲染出图片，所以就不用图片数据了。\n\n原来我们想使用爬虫爬取[arXiv](https:\u002F\u002Farxiv.org\u002F)的论文，然后通过正则表达式提取论文里的latex公式。\n\n但是最后我们发现已经有人做了这个工作，所以就用了他们的公式数据。[im2latex-100k , arXiv:1609.04938](https:\u002F\u002Fzenodo.org\u002Frecord\u002F56198#.XKMMU5gzZBB)\n\n现在我们获取到latex公式数据，下面进行规范化。\n\n> 为什么要规范化：如果不规范化，我们构建字典时就只能是char wise，而latex中有很多是有特定排列的指令，比如`\\lim`，这样模型需要花费额外的神经元来记住这些pattern，会使模型效果变差，也导致训练费时间。（有时根本不收敛...别问我怎么知道的...）\n\n我们先手动在代码编辑器里对数据进行规范化，很玄学地用了一些正则表达式，一步一步进行规范化。\n\n最后总结了一下，明确要构建的字典大概是什么样的，然后写了脚本来处理。\n\n然后是通过公式生成图片，保存公式-图片映射文件，构建字典。\n\n构建字典很简单，遍历公式文件的每一行，然后以空格符` `为分隔符分割成若干latex块，去掉每一块首尾空格，若非空则加入字典集，保证不重复。\n\n保存公式-图片映射文件也很简单，就是在渲染出图片后，保存`当前的公式在公式文件里的行号`和`图片路径`，写入映射文件里，也就是`.matching.txt`文件。图片文件名是直接用公式行号来命名的，比如`1234.png 1234`表示第1234行公式的公式图片是1234.png。所以知道了行号，就知道了公式图片路径。\n\n通过公式生成图片稍微复杂一点，需要用到几个库：latex、ghostscript和magick。事实上用Katex也是可以的，katex是一个渲染latex公式的js库，体积小速度快。原来我们也是打算用这个库处理，后来因为环境问题放弃了。\n\nlatex原先我的环境里有了，这是用来生成pdf文件的。执行脚本后会得到A4纸大小的一页pdf。\n\nghostscript和magick绑定在一起，用来把pdf转化为png格式的图片。\n\n转化为图片后，选定公式 padding 8个像素的方框，crop框外的空白，然后灰度化。\n\n### 模型构建\n\n让我鸽一段时间。。。有空再写！\n\n\n## 6. 踩坑记录\n\n### win10 用 GPU 加速训练\n\n装驱动后就行了。运行下面代码进行训练：\n\n```bash\nC:\u002FUsers\u002Fdlink\u002FAppData\u002FLocal\u002FPrograms\u002FPython\u002FPython35\u002Fpython.exe train.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json --training=configs\u002Ftraining.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\n```\n\n我的环境比较奇葩，是win10+ubuntu wsl，也就是windows+linux子系统。我的GPU驱动装在win里面了，linux里没装，不过文件系统是共用的，所以用win的GPU驱动来训练模型。（嗯，python也有两套版本哈哈哈，都是python3.5）\n\n### 如何可视化Attention层\n\n在Attention层内自定义一个op，通过这个op把Attention传递到一个全局变量里。其他程序在模型预测完公式后，就可以在这个全局变量里获取到Attention。\n\n## 致谢\n\n非常感谢哈佛大学以及 Guillaume Genthial、Kelvin Xu 等人提供的宝贵支持与帮助。\n\n论文：\n1. [Show, Attend and Tell（Kelvin Xu…）](https:\u002F\u002Farxiv.org\u002Fabs\u002F1502.03044)\n2. [哈佛大学的相关论文与数据集](http:\u002F\u002Flstm.seas.harvard.edu\u002Flatex\u002F)\n1. [用于 LaTeX 生成的 Seq2Seq 模型](https:\u002F\u002Fguillaumegenthial.github.io\u002Fimage-to-latex.html)。","# LaTeX_OCR 快速上手指南\n\nLaTeX_OCR 是一个基于深度学习（Seq2Seq + Attention + Beam Search）的开源项目，旨在将数学公式图片识别并转换为 LaTeX 代码。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux 或 macOS (Windows 用户需参考原文“踩坑记录”配置 WSL 或特定环境)\n*   **Python 版本**: Python 3.5\n*   **核心框架**: TensorFlow 1.12.2\n*   **外部依赖**:\n    *   `latex`: 用于将 LaTeX 源码渲染为 PDF\n    *   `ghostscript`: 用于图像处理\n    *   `magick` (ImageMagick): 用于将 PDF 转换为 PNG 图片\n\n## 2. 安装步骤\n\n您可以根据操作系统选择一键安装或手动安装。\n\n### Linux 用户\n\n**方式一：一键安装（推荐）**\n```shell\nmake install-linux\n```\n\n**方式二：手动安装**\n1. 创建虚拟环境并安装 Python 依赖：\n```shell\nvirtualenv env35 --python=python3.5\nsource env35\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n2. 安装 LaTeX 支持：\n```shell\nsudo apt-get install texlive-latex-base\nsudo apt-get install texlive-latex-extra\n```\n3. 安装 Ghostscript：\n```shell\nsudo apt-get update\nsudo apt-get install ghostscript\nsudo apt-get install libgs-dev\n```\n4. 编译安装 ImageMagick (Magick)：\n```shell\nwget http:\u002F\u002Fwww.imagemagick.org\u002Fdownload\u002FImageMagick.tar.gz\ntar -xvf ImageMagick.tar.gz\ncd ImageMagick-7.*; \\\n.\u002Fconfigure --with-gslib=yes; \\\nmake; \\\nsudo make install; \\\nsudo ldconfig \u002Fusr\u002Flocal\u002Flib\nrm ImageMagick.tar.gz\nrm -r ImageMagick-7.*\n```\n\n### macOS 用户\n\n**方式一：一键安装（推荐）**\n```shell\nmake install-mac\n```\n\n**方式二：手动安装**\n1. 安装 Python 依赖：\n```shell\nsudo pip install -r requirements.txt\n```\n2. 自行安装 LaTeX (如通过 MacTeX)。\n3. 编译安装 ImageMagick：\n```shell\nwget http:\u002F\u002Fwww.imagemagick.org\u002Fdownload\u002FImageMagick.tar.gz\ntar -xvf ImageMagick.tar.gz\ncd ImageMagick-7.*; \\\n.\u002Fconfigure --with-gslib=yes; \\\nmake;\\\nsudo make install; \\\nrm ImageMagick.tar.gz\nrm -r ImageMagick-7.*\n```\n\n## 3. 基本使用\n\n本项目提供了一套完整的流程：生成数据集、训练模型、评估结果。初学者建议先使用**小数据集**进行测试。\n\n### 快速测试（小数据集）\n\n使用内置的 100 条样本数据进行快速验证，全程约需 2 分钟。\n\n**一键执行：**\n```shell\nmake small\n```\n\n**分步执行：**\n\n1.  **生成数据集**（生成图片、映射文件及字典）：\n    ```shell\n    python build.py\n    # 或指定配置\n    python build.py --data=configs\u002Fdata_small.json --vocab=configs\u002Fvocab_small.json\n    ```\n\n2.  **训练模型**：\n    ```shell\n    python train.py\n    # 或指定配置\n    python train.py --data=configs\u002Fdata_small.json --vocab=configs\u002Fvocab_small.json --training=configs\u002Ftraining_small.json --model=configs\u002Fmodel.json --output=results\u002Fsmall\u002F\n    ```\n\n3.  **评估结果**：\n    *   评估生成的文本公式：\n        ```shell\n        python evaluate_txt.py\n        ```\n    *   评估生成的公式图片：\n        ```shell\n        python evaluate_img.py\n        ```\n\n### 完整训练（大数据集）\n\n若需训练生产级模型（约 70,000+ 公式），请执行以下命令（耗时约 2-3 小时生成数据，训练时间视硬件而定）：\n\n**一键执行：**\n```shell\nmake full\n```\n\n**分步执行：**\n1.  生成完整数据集：\n    ```shell\n    python build.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json\n    ```\n2.  训练模型：\n    ```shell\n    python train.py --data=configs\u002Fdata.json --vocab=configs\u002Fvocab.json --training=configs\u002Ftraining.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\n    ```\n\n### 可视化与监控\n\n*   **查看训练过程**：\n    使用 TensorBoard 监控损失和准确率。\n    ```shell\n    # 小数据集\n    cd results\u002Fsmall\n    tensorboard --logdir .\u002F\n    \n    # 完整数据集\n    cd results\u002Ffull\n    tensorboard --logdir .\u002F\n    ```\n\n*   **查看注意力机制 (Attention)**：\n    观察模型在预测时关注的图片区域。\n    ```shell\n    python visualize_attention.py\n    # 或指定图片和模型\n    python visualize_attention.py --image=data\u002Fimages_test\u002F6.png --vocab=configs\u002Fvocab.json --model=configs\u002Fmodel.json --output=results\u002Ffull\u002F\n    ```\n    生成的注意力热力图将保存在 `--output` 指定的目录下。","某高校科研团队在构建数学题库时，需要将数万份扫描版旧教材中的复杂公式数字化，以便导入在线学习平台进行检索和编辑。\n\n### 没有 LaTeX_OCR 时\n- **人工录入效率极低**：研究人员必须对照图片手动逐字敲击 LaTeX 代码，处理一个包含积分与矩阵的复杂公式平均耗时 15 分钟。\n- **特殊符号易出错**：希腊字母、上下标及生僻算子极易混淆，导致后期编译报错，反复校对占据了大量时间。\n- **无法批量处理**：面对海量历史文档，缺乏自动化手段，项目进度严重滞后，难以在学期前完成题库建设。\n- **格式还原度差**：手动编写的代码往往丢失原图的排版逻辑，导致渲染出的公式结构与原始教材不一致。\n\n### 使用 LaTeX_OCR 后\n- **秒级自动转换**：利用 LaTeX_OCR 的 Seq2Seq+Attention 模型，直接上传公式截图即可在毫秒级内输出高精度的 LaTeX 源码。\n- **复杂结构精准识别**：工具能准确解析多层嵌套的分式、根号及矩阵结构，显著降低了人工修正特殊符号的成本。\n- **支持大规模流水线作业**：结合脚本可批量处理成千上万张图片，将原本需要数月的工程量压缩至几天内完成。\n- **可视化辅助校验**：通过 Attention 层可视化功能，开发人员能直观看到模型关注区域，快速定位并修复极少数识别偏差。\n\nLaTeX_OCR 通过将图像识别与序列生成技术深度融合，彻底解决了数学公式从“静态图片”到“可编辑代码”的自动化转换难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLinXueyuanStdio_LaTeX_OCR_30285a3d.png","LinXueyuanStdio","兮尘","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FLinXueyuanStdio_4ba06a4a.jpg","Second year AI PhD in HKUST(GZ)-IDEA joint program, interested in multimodal  agents, reasoning&decision-making.\r\n\u003CGhost Creator, World Builder, Truth Founder>","HKUST(GZ) \u002F IDEA","Guangzhou \u002F Shenzhen, China",null,"linxueyuan.online","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio",[82,86,90,94],{"name":83,"color":84,"percentage":85},"Jupyter Notebook","#DA5B0B",85.2,{"name":87,"color":88,"percentage":89},"Python","#3572A5",14,{"name":91,"color":92,"percentage":93},"Shell","#89e051",0.7,{"name":95,"color":96,"percentage":97},"Makefile","#427819",0.1,551,108,"2026-04-08T06:12:18","Apache-2.0",4,"Linux, macOS, Windows","非必需，但推荐用于加速训练。README 提及在 Windows 10 上可使用 GPU 加速，需安装对应驱动，未指定具体型号、显存大小或 CUDA 版本。","未说明",{"notes":107,"python":108,"dependencies":109},"该项目基于较旧的 TensorFlow 1.12.2 和 Python 3.5。需要安装系统级依赖：LaTeX（用于将公式渲染为 PDF）、Ghostscript 和 ImageMagick（用于将 PDF 转换为 PNG 图片）。在 Linux 和 macOS 上提供了一键安装脚本（make install-linux\u002Fmac）。Windows 用户可通过 WSL 子系统配合 Windows 宿主的 GPU 驱动进行训练。生成完整数据集（70,000+ 图片）预计需要 2-3 小时。","3.5",[110,111,112,113,114],"tensorflow==1.12.2","latex (texlive-latex-base, texlive-latex-extra)","ghostscript","libgs-dev","imagemagick (magick)",[15,14],[117,118,119],"ocr","deep-learning","latex","2026-03-27T02:49:30.150509","2026-04-20T04:04:32.310407",[123,128,133,138,143,148,153,158],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},43624,"训练过程中模型很快过拟合，或者识别效果不佳怎么办？","这通常是因为数据预处理不足或模型参数设置问题。建议尝试以下方案：1. 在 predict.py 中添加图像预处理步骤，包括二值化、裁剪（crop_image）、填充（pad_image）和下采样（downsample_image），这能显著提高识别率；2. 开启 Dropout 层以减少过拟合；3. 确保使用了完整的数据集进行训练，小数据集容易导致模型无法收敛。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F5",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},43625,"生成的方程组图片格式不对或与预期不符，如何解决？","这通常是由于 LaTeX 转 tex 文件的处理逻辑有误，或者是本地 pdflatex 版本差异导致的。请检查代码中生成 tex 文件的部分，确保方程组环境（如 \\begin{cases}）被正确写入。如果本地渲染正常但生成图片异常，可能需要调整构建脚本中关于 latex 转图片的具体参数或路径配置。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F23",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},43626,"训练时显存占用过大且 GPU 利用率极低（甚至为 0%），是什么原因？","最常见的原因是安装了错误版本的 TensorFlow。请确认你安装的是支持 GPU 的 TensorFlow 版本（gpu 版），而不是 CPU 版。如果是 Linux 系统且 GPU 利用率为 0，请检查环境变量配置及 CUDA\u002FcuDNN 是否正确安装并与 TF 版本匹配。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F6",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},43627,"运行 visual_attention 或生成注意力图时报错，但生成的 LaTeX 文本正常，如何修复？","这是一个已知的代码逻辑问题。解决方法是修改 attention_mechanism 相关的代码：找到 gather_attention 函数，将其中关于 ctx_vector 的注释取消（或根据具体报错调整该变量的传递逻辑）。注意，修复后可能仍会影响 gif 动态图的生成，但不影响核心识别功能。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F11",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},43628,"为什么复现后的 EM 指标（Exact Match）只有 50% 左右，远低于论文中的 76%？","该项目主要目的是学习和演示，并未完全复现原论文（Image-to-Markup Generation with Coarse-to-Fine Attention）的所有细节。主要差距在于缺少论文中提到的 row encoder 等关键结构，因此指标较低属于正常现象，并非代码错误。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F10",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},43629,"测试集生成时同时使用了公式（formula）和图片（image），这是否会导致数据泄露？","不会导致数据泄露。由于 TensorFlow 是静态图机制，网络和测试部分需要同时定义以保持一致性。在实际测试评估阶段，公式（formula）仅用于与模型的预测结果计算分数（如 BLEU 或 EM），并不参与模型的识别推理过程。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F4",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},43630,"项目是否支持多卡（多 GPU）并行训练？","当前版本不支持多卡训练。如果需要使用多卡，用户需要自行修改代码以实现分布式训练或数据并行逻辑。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F21",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},43631,"使用 small 数据集训练时 perplexity 溢出或准确率极低，是否正常？","这是正常现象。small 数据集仅包含不到 100 条公式，其设计目的仅仅是为了验证程序能否跑通（玩具性质），数据量不足以支持模型收敛或学习有效特征。若要获得可用的准确率，必须使用完整数据集或更大的数据集进行训练。","https:\u002F\u002Fgithub.com\u002FLinXueyuanStdio\u002FLaTeX_OCR\u002Fissues\u002F17",[]]