[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-bgshih--crnn":3,"tool-bgshih--crnn":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 真正成长为懂上",155373,2,"2026-04-14T11:34:08",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[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":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":75,"owner_url":77,"languages":78,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":103,"env_os":104,"env_gpu":105,"env_ram":106,"env_deps":107,"category_tags":115,"github_topics":116,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":122,"updated_at":123,"faqs":124,"releases":154},7539,"bgshih\u002Fcrnn","crnn","Convolutional Recurrent Neural Network (CRNN) for image-based sequence recognition.","crnn 是一款专为图像序列识别设计的开源深度学习模型，核心应用场景包括场景文字识别和光学字符识别（OCR）。它巧妙地将卷积神经网络（CNN）、循环神经网络（RNN）与 CTC 损失函数相结合，能够直接从包含文本的图像中识别出连续的字符序列，无需对单个字符进行繁琐的分割预处理。\n\n这一架构有效解决了传统 OCR 方法在处理弯曲、模糊或背景复杂文字时准确率低的难题，实现了端到端的训练与推理。其独特的技术亮点在于利用 CNN 提取图像特征，通过 RNN 捕捉序列上下文依赖，并借助 CTC 算法自动对齐预测结果与真实标签，大幅提升了识别的鲁棒性。\n\ncrnn 主要面向 AI 研究人员、计算机视觉开发者以及需要构建自定义文字识别系统的工程师。虽然项目提供了基于 Torch 和 PyTorch 的实现及 Docker 部署方案，但使用者仍需具备一定的深度学习框架操作能力和环境配置经验。对于希望深入研究序列识别算法或在特定领域（如车牌识别、文档数字化）开发专用识别模型的团队来说，crnn 是一个经典且极具参考价值的基准工具。","Convolutional Recurrent Neural Network\n======================================\n\nThis software implements the Convolutional Recurrent Neural Network (CRNN), a combination of CNN, RNN and CTC loss for image-based sequence recognition tasks, such as scene text recognition and OCR. For details, please refer to our paper http:\u002F\u002Farxiv.org\u002Fabs\u002F1507.05717.\n\n**UPDATE Mar 14, 2017** A Docker file has been added to the project. Thanks to [@varun-suresh](https:\u002F\u002Fgithub.com\u002Fvarun-suresh).\n\n**UPDATE May 1, 2017** A PyTorch [port](https:\u002F\u002Fgithub.com\u002Fmeijieru\u002Fcrnn.pytorch) has been made by [@meijieru](https:\u002F\u002Fgithub.com\u002Fmeijieru).\n\n**UPDATE Jun 19, 2017** For an end-to-end text detector+recognizer, check out the [CTPN+CRNN implementation](https:\u002F\u002Fgithub.com\u002FAKSHAYUBHAT\u002FDeepVideoAnalytics\u002Ftree\u002Fmaster\u002Fnotebooks\u002FOCR) by [@AKSHAYUBHAT](https:\u002F\u002Fgithub.com\u002FAKSHAYUBHAT).\n\nBuild\n-----\n\nThe software has only been tested on Ubuntu 14.04 (x64). CUDA-enabled GPUs are required. To build the project, first install the latest versions of [Torch7](http:\u002F\u002Ftorch.ch), [fblualib](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Ffblualib) and LMDB. Please follow their installation instructions respectively. On Ubuntu, lmdb can be installed by ``apt-get install liblmdb-dev``.\n\nTo build the project, go to ``src\u002F`` and execute ``sh build_cpp.sh`` to build the C++ code. If successful, a file named ``libcrnn.so`` should be produced in the ``src\u002F`` directory.\n\n\nRun demo\n--------\n\nA demo program can be found in ``src\u002Fdemo.lua``. Before running the demo, download a pretrained model from [here](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Ftx6cnzkpg99iryi\u002Fcrnn_demo_model.t7?dl=0). Put the downloaded model file ``crnn_demo_model.t7`` into directory ``model\u002Fcrnn_demo\u002F``. Then launch the demo by:\n\n    th demo.lua\n\nThe demo reads an example image and recognizes its text content.\n\nExample image:\n![Example Image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbgshih_crnn_readme_592d7da6cff6.png)\n\nExpected output:\n\n    Loading model...\n    Model loaded from ..\u002Fmodel\u002Fcrnn_demo\u002Fmodel.t7\n    Recognized text: available (raw: a-----v--a-i-l-a-bb-l-e---)\n    \nAnother example:\n![Example Image2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbgshih_crnn_readme_5484e3038c27.jpg)\n\n    Recognized text: shakeshack (raw: ss-h-a--k-e-ssh--aa-c--k--)\n\n\nUse pretrained model\n--------------------\n\nThe pretrained model can be used for lexicon-free and lexicon-based recognition tasks. Refer to the functions ``recognizeImageLexiconFree`` and ``recognizeImageWithLexicion`` in file ``utilities.lua`` for details.\n\n\nTrain a new model\n-----------------\n\nFollow the following steps to train a new model on your own dataset.\n\n  1. Create a new LMDB dataset. A python program is provided in ``tool\u002Fcreate_dataset.py``. Refer to the function ``createDataset`` for details (need to ``pip install lmdb`` first).\n  2. Create model directory under ``model\u002F``. For example, ``model\u002Ffoo_model``. Then create\n   configuraton file ``config.lua`` under the model directory. You can copy ``model\u002Fcrnn_demo\u002Fconfig.lua`` and do modifications.\n  3. Go to ``src\u002F`` and execute ``th main_train.lua ..\u002Fmodels\u002Ffoo_model\u002F``. Model snapshots and logging file will be saved into the model directory.\n\n\nBuild using docker\n------------------\n\n  1. Install docker. Follow the instructions [here](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstallation\u002F)\n  2. Install nvidia-docker - Follow the instructions [here](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnvidia-docker)\n  3. Clone this repo, from this directory run `docker build -t crnn_docker .`\n  4. Once the image is built, the docker can be run using `nvidia-docker run -it crnn_docker`.\n  \nCitation\n--------\n\nPlease cite the following paper if you are using the code\u002Fmodel in your research paper.\n\n    @article{ShiBY17,\n      author    = {Baoguang Shi and\n                   Xiang Bai and\n                   Cong Yao},\n      title     = {An End-to-End Trainable Neural Network for Image-Based Sequence Recognition\n                   and Its Application to Scene Text Recognition},\n      journal   = {{IEEE} Trans. Pattern Anal. Mach. Intell.},\n      volume    = {39},\n      number    = {11},\n      pages     = {2298--2304},\n      year      = {2017}\n    }\n\n\nAcknowledgements\n----------------\n\nThe authors would like to thank the developers of Torch7, TH++, [lmdb-lua-ffi](https:\u002F\u002Fgithub.com\u002Fcalind\u002Flmdb-lua-ffi) and [char-rnn](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fchar-rnn).\n\nPlease let me know if you encounter any issues.\n","卷积循环神经网络\n======================================\n\n本软件实现了卷积循环神经网络（CRNN），它结合了卷积神经网络、循环神经网络和CTC损失函数，适用于基于图像的序列识别任务，例如场景文本识别和光学字符识别。有关详细信息，请参阅我们的论文：http:\u002F\u002Farxiv.org\u002Fabs\u002F1507.05717。\n\n**更新 2017年3月14日** 项目中已添加Docker文件。感谢[@varun-suresh](https:\u002F\u002Fgithub.com\u002Fvarun-suresh)。\n\n**更新 2017年5月1日** [@meijieru](https:\u002F\u002Fgithub.com\u002Fmeijieru) 已将其移植到PyTorch，详见[此处](https:\u002F\u002Fgithub.com\u002Fmeijieru\u002Fcrnn.pytorch)。\n\n**更新 2017年6月19日** 对于端到端的文本检测与识别系统，请查看[@AKSHAYUBHAT](https:\u002F\u002Fgithub.com\u002FAKSHAYUBHAT)实现的[CTPN+CRNN](https:\u002F\u002Fgithub.com\u002FAKSHAYUBHAT\u002FDeepVideoAnalytics\u002Ftree\u002Fmaster\u002Fnotebooks\u002FOCR)。\n\n构建\n-----\n\n该软件仅在Ubuntu 14.04 (x64)上进行了测试。需要支持CUDA的GPU。要构建该项目，首先安装最新版本的[Torch7](http:\u002F\u002Ftorch.ch)、[fblualib](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Ffblualib)和LMDB。请分别按照它们的安装说明进行操作。在Ubuntu上，可以通过``apt-get install liblmdb-dev``来安装lmdb。\n\n要构建项目，进入``src\u002F``目录并执行``sh build_cpp.sh``以编译C++代码。如果成功，将在``src\u002F``目录下生成名为``libcrnn.so``的文件。\n\n\n运行示例\n--------\n\n示例程序位于``src\u002Fdemo.lua``。在运行示例之前，请从[这里](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Ftx6cnzkpg99iryi\u002Fcrnn_demo_model.t7?dl=0)下载预训练模型。将下载的模型文件``crnn_demo_model.t7``放入``model\u002Fcrnn_demo\u002F``目录中。然后通过以下命令启动示例：\n\n    th demo.lua\n\n该示例会读取一张示例图像并识别其中的文本内容。\n\n示例图像：\n![Example Image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbgshih_crnn_readme_592d7da6cff6.png)\n\n预期输出：\n\n    Loading model...\n    Model loaded from ..\u002Fmodel\u002Fcrnn_demo\u002Fmodel.t7\n    Recognized text: available (raw: a-----v--a-i-l-a-bb-l-e---)\n    \n另一个示例：\n![Example Image2](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbgshih_crnn_readme_5484e3038c27.jpg)\n\n    Recognized text: shakeshack (raw: ss-h-a--k-e-ssh--aa-c--k--)\n\n\n使用预训练模型\n--------------------\n\n预训练模型可用于无词典和有词典的识别任务。有关详细信息，请参考``utilities.lua``文件中的``recognizeImageLexiconFree``和``recognizeImageWithLexicion``函数。\n\n\n训练新模型\n-------------\n\n请按照以下步骤在您自己的数据集上训练新模型。\n\n  1. 创建一个新的LMDB数据集。工具脚本``tool\u002Fcreate_dataset.py``中提供了一个Python程序。请参考``createDataset``函数了解详情（需先运行``pip install lmdb``）。\n  2. 在``model\u002F``目录下创建一个新的模型目录，例如``model\u002Ffoo_model``。然后在该目录下创建配置文件``config.lua``。您可以复制``model\u002Fcrnn_demo\u002Fconfig.lua``并进行修改。\n  3. 进入``src\u002F``目录，执行``th main_train.lua ..\u002Fmodels\u002Ffoo_model\u002F``。模型快照和日志文件将保存到该模型目录中。\n\n\n使用Docker构建\n------------------\n\n  1. 安装Docker。请按照[此处](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstallation\u002F)的说明进行操作。\n  2. 安装nvidia-docker - 请按照[此处](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnvidia-docker)的说明进行操作。\n  3. 克隆本仓库，在该目录下运行`docker build -t crnn_docker .`\n  4. 镜像构建完成后，可以使用`nvidia-docker run -it crnn_docker`来运行容器。\n\n\n引用\n--------\n\n如果您在研究论文中使用了本代码或模型，请引用以下论文：\n\n    @article{ShiBY17,\n      author    = {Baoguang Shi and\n                   Xiang Bai and\n                   Cong Yao},\n      title     = {An End-to-End Trainable Neural Network for Image-Based Sequence Recognition\n                   and Its Application to Scene Text Recognition},\n      journal   = {{IEEE} Trans. Pattern Anal. Mach. Intell.},\n      volume    = {39},\n      number    = {11},\n      pages     = {2298--2304},\n      year      = {2017}\n    }\n\n\n致谢\n-----\n\n作者谨向Torch7、TH++、[lmdb-lua-ffi](https:\u002F\u002Fgithub.com\u002Fcalind\u002Flmdb-lua-ffi)和[char-rnn](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fchar-rnn)的开发者表示感谢。\n\n如果您遇到任何问题，请随时告知我。","# CRNN 快速上手指南\n\nCRNN（Convolutional Recurrent Neural Network）是一个结合 CNN、RNN 和 CTC 损失函数的深度学习模型，专为基于图像的序列识别任务设计，广泛应用于场景文本识别和 OCR 领域。\n\n## 环境准备\n\n本项目主要基于 **Torch7** 框架开发，对运行环境有特定要求：\n\n*   **操作系统**：仅在 Ubuntu 14.04 (x64) 上经过测试（其他 Linux 发行版可能需自行调整）。\n*   **硬件要求**：必须配备支持 CUDA 的 NVIDIA GPU。\n*   **核心依赖**：\n    *   [Torch7](http:\u002F\u002Ftorch.ch) (最新版)\n    *   [fblualib](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Ffblualib)\n    *   LMDB (Ubuntu 下可通过 `apt-get install liblmdb-dev` 安装)\n    *   Python (用于数据集制作，需安装 `lmdb` 包：`pip install lmdb`)\n\n> **注意**：官方也提供了 PyTorch 版本的移植实现（[crnn.pytorch](https:\u002F\u002Fgithub.com\u002Fmeijieru\u002Fcrnn.pytorch)），如果您更熟悉 PyTorch 生态，建议优先使用该版本。本指南针对原始 Torch7 版本。\n\n## 安装步骤\n\n### 1. 安装基础依赖\n请参照各官方文档安装 Torch7 和 fblualib。安装 LMDB 开发库：\n```bash\nsudo apt-get install liblmdb-dev\n```\n\n### 2. 编译 C++ 代码\n进入源码目录并执行构建脚本：\n```bash\ncd src\u002F\nsh build_cpp.sh\n```\n构建成功后，`src\u002F` 目录下将生成 `libcrnn.so` 文件。\n\n### 3. (可选) 使用 Docker 部署\n如果您希望避免复杂的环境配置，可以使用 Docker：\n```bash\n# 构建镜像\ndocker build -t crnn_docker .\n\n# 运行容器 (需预先安装 nvidia-docker)\nnvidia-docker run -it crnn_docker\n```\n\n## 基本使用\n\n以下演示如何加载预训练模型进行简单的文本识别。\n\n### 1. 下载预训练模型\n从以下地址下载演示模型 `crnn_demo_model.t7`：\n[下载链接](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Ftx6cnzkpg99iryi\u002Fcrnn_demo_model.t7?dl=0)\n\n### 2. 放置模型文件\n将下载的模型文件放入指定目录（若目录不存在请自行创建）：\n```bash\nmkdir -p model\u002Fcrnn_demo\nmv crnn_demo_model.t7 model\u002Fcrnn_demo\u002F\n# 注意：根据 demo 代码逻辑，可能需要将文件重命名为 model.t7 或修改 demo.lua 中的路径\n# 此处假设按照 README 默认逻辑，文件名为 crnn_demo_model.t7 且代码已适配，\n# 若运行报错找不到文件，请检查 demo.lua 中的加载路径。\n```\n*注：根据原文描述，demo 期望加载 `..\u002Fmodel\u002Fcrnn_demo\u002Fmodel.t7`，建议将下载的文件重命名：*\n```bash\nmv model\u002Fcrnn_demo\u002Fcrnn_demo_model.t7 model\u002Fcrnn_demo\u002Fmodel.t7\n```\n\n### 3. 运行演示\n在 `src\u002F` 目录下运行演示程序：\n```bash\nth demo.lua\n```\n\n**预期输出示例：**\n```text\nLoading model...\nModel loaded from ..\u002Fmodel\u002Fcrnn_demo\u002Fmodel.t7\nRecognized text: available (raw: a-----v--a-i-l-a-bb-l-e---)\n```\n\n### 4. 训练新模型（简要流程）\n若需使用自己的数据集训练：\n1.  **制作数据集**：使用 `tool\u002Fcreate_dataset.py` 创建 LMDB 格式数据集。\n2.  **配置模型**：在 `model\u002F` 下新建目录（如 `foo_model`），复制并修改 `config.lua`。\n3.  **开始训练**：\n    ```bash\n    cd src\u002F\n    th main_train.lua ..\u002Fmodels\u002Ffoo_model\u002F\n    ```","某物流科技公司需要自动化处理每日数万张手写快递面单，以提取收件人姓名和地址信息。\n\n### 没有 crnn 时\n- 传统 OCR 引擎难以应对面单上倾斜、模糊或连笔的手写字体，识别准确率不足 60%。\n- 必须依赖人工对图像进行复杂的预处理（如二值化、纠偏），且需针对每个字段单独切割字符，开发维护成本极高。\n- 遇到未预设字典的生僻字或新地名时，系统直接报错或输出乱码，无法实现端到端的序列识别。\n- 整体流程耗时冗长，大量面单积压，导致包裹分拣效率严重滞后于业务增长速度。\n\n### 使用 crnn 后\n- 利用 CNN 提取特征结合 RNN 处理序列上下文的能力，crnn 直接对整行图像进行识别，手写体准确率提升至 92% 以上。\n- 无需繁琐的字符分割步骤，crnn 原生支持变长输入，自动适应不同长度的姓名和地址行，大幅简化了数据流水线。\n- 借助 CTC 损失函数，crnn 实现了无词典（lexicon-free）识别，能够灵活输出训练集中未见过的生僻字或新组合词汇。\n- 部署预训练模型后，单张面单处理时间从秒级降低至毫秒级，成功支撑起全天候的自动化分拣作业。\n\ncrnn 通过将卷积与循环神经网络深度融合，彻底解决了复杂场景下图像序列识别的痛点，让非结构化图片数据转化为高效可用的文本信息。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbgshih_crnn_5484e303.jpg","bgshih","Baoguang Shi","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fbgshih_b9b70880.png",null,"shibaoguang@gmail.com","https:\u002F\u002Fgithub.com\u002Fbgshih",[79,83,87,91,95],{"name":80,"color":81,"percentage":82},"Lua","#000080",67.8,{"name":84,"color":85,"percentage":86},"C++","#f34b7d",18.5,{"name":88,"color":89,"percentage":90},"Shell","#89e051",8,{"name":92,"color":93,"percentage":94},"Python","#3572A5",4.1,{"name":96,"color":97,"percentage":98},"CMake","#DA3434",1.6,2105,550,"2026-04-14T02:45:24","MIT",4,"Linux (Ubuntu 14.04 x64)","必需 NVIDIA GPU (支持 CUDA)","未说明",{"notes":108,"python":109,"dependencies":110},"该项目主要基于 Lua (Torch7) 开发，非纯 Python 项目。仅在 Ubuntu 14.04 (x64) 上经过测试。构建项目需编译 C++ 代码生成 libcrnn.so。提供 Docker 镜像以简化环境配置（需安装 nvidia-docker）。训练数据需转换为 LMDB 格式（可使用提供的 Python 脚本，需安装 lmdb 包）。另有社区维护的 PyTorch 版本可供参考。","未说明 (主要基于 Lua\u002FTorch7，创建数据集脚本需 Python)",[111,112,113,114],"Torch7","fblualib","LMDB (liblmdb-dev)","CUDA",[14,15],[117,118,119,120,121],"torch7","sequence-recognition","computer-vision","machine-learning","ocr","2026-03-27T02:49:30.150509","2026-04-15T06:50:25.437811",[125,130,135,140,145,150],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},33803,"如何让模型识别行级文本（包含空格）而不是仅识别单词？","可以通过在训练数据中引入真实空格来实现。具体方法是：生成包含真实空格的训练数据，但在标签文件中将空格替换为另一个特殊字符进行训练；测试完成后，再将预测结果中的该特殊字符替换回空格。注意，预训练的 CRNN 模型通常是不包含空格训练的，如果需要识别空格，需要使用包含空格的样本对模型进行微调（fine-tune）。如果合成数据训练后仍无法识别某些空格，可能是训练数据中句子长度或空格分布不够丰富，建议增加包含多个单词和空格的短句样本。","https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn\u002Fissues\u002F67",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},33804,"模型训练损失很低但测试准确率低且不再提升（过拟合），该如何解决？","当训练损失极低（如 0.0005）但测试损失高且准确率停滞（如 62%）时，通常是过拟合或数据预处理问题。建议检查以下几点：1. 确认测试集数据是否与训练集分布一致；2. 尝试对预训练模型进行微调（fine-tuning），而不是从头训练；3. 检查数据清洗步骤，例如移除包含非字母数字字符或长度小于 3 的样本可能会影响评估结果（有用户发现移除这些样本后有效样本数从 1015 降至 857，准确率计算需基于清洗后的数据）；4. 增加训练数据的多样性或数量。","https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn\u002Fissues\u002F5",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},33805,"编译 C++ 部分时出现类型转换错误（conversion to non-scalar type requested），如何修复？","该错误通常源于 TH++ 库版本不兼容或代码中对 TensorPtr 的使用不当。解决方案是修改 `src\u002Fcpp\u002Fctc.cpp` 文件，将直接赋值改为解引用操作。具体而言，将 `const thpp::Tensor\u003CT> input = fblualib::luaGetTensorChecked\u003CT>(L, 1);` 修改为 `const thpp::Tensor\u003CT> input = *fblualib::luaGetTensorChecked\u003CT>(L, 1);`。这是因为 `luaGetTensorChecked` 返回的是一个 `TensorPtr` 智能指针，需要解引用（*）来获取实际的 Tensor 对象，否则会导致类型不匹配和运行时崩溃。","https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn\u002Fissues\u002F1",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},33806,"编译时遇到 'THC_LIBRARY not found' CMake 错误，如何解决？","此错误表示 CMake 找不到 Torch 的 CUDA 库（THC）。这通常是因为未正确安装 Torch7 的 CUDA 支持或环境变量未配置。如果你不需要 GPU 加速，可以尝试将项目修改为仅使用 CPU 版本：在 `model\u002Fcrnn_demo\u002Fconfig.lua` 文件中，将 `cudnn` 替换为 `nn`，并可能需要解决后续出现的其他 CUDA 相关依赖问题。如果需要 GPU 支持，请确保已安装 `luarocks install torch` 和 `luarocks install cudnn`，并且 `THC_LIBRARY` 路径已正确添加到 CMake 配置或系统环境变量中。","https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn\u002Fissues\u002F2",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},33807,"在 Python 3 环境下运行 create_dataset.py 创建数据集时遇到编码错误和 API 弃用问题，如何修复？","在 Python 3 中运行脚本需要进行以下修改：1. 修复图片读取编码错误：将 `open(imagePath, 'r')` 改为二进制模式 `open(imagePath, 'rb')`，以避免 'utf-8' codec 无法解码字节的问题；2. 替换弃用函数：将 `xrange(nSamples)` 改为 `range(nSamples)`，将 `cache.iteritems()` 改为 `cache.items()`；3. 修复 LMDB 写入错误：在 Python 3 中，LMDB 的 `txn.put()` 方法要求键（key）和值（value）必须是字节串（bytes），因此需要对键和值进行编码，例如 `txn.put(k.encode(), v)` 或在读取时确保数据已是 bytes 格式。","https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn\u002Fissues\u002F53",{"id":151,"question_zh":152,"answer_zh":153,"source_url":134},33808,"微调模型时需要多少样本量？原始模型每个样本包含多少示例？","关于微调所需的样本量，并没有固定的标准，取决于任务的复杂度和原始模型的泛化能力。一般来说，几百到几千个高质量样本即可开始微调。关于原始训练模型的样本构成，根据维护者的回复，在标准测试集中，如果移除包含非字母数字字符或长度小于 3 的单词，有效样本数量约为 857 个（原始筛选前可能为 1015 个）。建议在微调时，确保每个样本（图像 - 标签对）清晰且标注准确，并尽量覆盖目标场景中的字符分布。",[]]