基于PaddleOCR的中文场景文字识别实战:从检测到部署
上个月团队接了一个票据信息化的临时需求对方拿来的样张五花八门机打的增值税发票、手写快递单、混排了横竖文字的营业执照扫描件还有用户直接在手机上拍的模糊照片。原本以为调个OCR接口就行结果接进去才发现通用接口对中文场景的误识别率让人头皮发麻——蓝变篮、有限公司被拆成三个词、竖排小字直接没输出。折腾几天之后我决定用PaddlePaddle这套开源框架把中文场景文字识别整个流程自己搭起来从文本检测到方向分类再到文字识别一步不落地复现一遍。这篇文章就是我当时实操的完整记录。我会从选型理由开始讲到环境搭建里那些文档没写清楚的版本坑再到检测、识别两段式推理的代码细节最后补上训练自己场景模型的方法和部署阶段会遇到的真实问题。如果你正准备处理中文票据、门店招牌、证件照片这类场景文字或者想在PaddlePaddle上跑通一整套OCR流程这篇文章应该能帮你省下不少试错时间。1. 为什么中文场景文字识别值得单独搭一套流程先聊一个看起来很简单的问题既然市面上已经有那么多OCR服务为什么还要自己用PaddlePaddle搭这个问题想清楚后面所有的技术选型才不会跑偏。1.1 场景文字识别和文档扫描识别是两回事很多人理解的OCR是拍一页文档把整页字提出来这种任务本质上叫文档识别版面整齐、字体统一、背景干净很多开源模型在这个任务上表现都不差。但中文场景文字识别要处理的是另一类输入路牌、菜单、营业执照、快递面单、店铺招牌、聊天截图混排。这些图像有几个共同特点文字不一定水平排列可能是倾斜的、弧形的甚至是竖排的背景纹理极其复杂字和背景的对比度经常不够分辨率参差不齐手机随手拍的照片占大头中文字符集大且形近字多识别网络如果只用几千个常用字训练很容易在生僻字和形近字上翻车。拿PaddlePaddle全家桶里的PaddleOCR来做这件事原因很简单它把检测分类识别三段式管线直接做成了一套完整组件不用自己拼模型也不用为每个环节单独调优。1.2 直接调API和本地搭流程的取舍我也考虑过直接调现成的云端OCR API但很快发现几个实际问题数据出境和隐私约束票据、证件这类图像有明显的合规要求很多场景不允许把图发到第三方服务定制能力不足通用API对生僻字体、特殊版式的适配是黑盒你没法针对自己的语料做微调调用量和延迟的隐性成本并发一上来按次计费和网络延迟都成了痛点。本地部署PaddlePaddle这套流程之后整个管线都掌握在自己手里从加载模型到后处理策略全都可以改这对生产项目来说太重要了。而且PaddleOCR的主干模型体积控制得不错即使没有昂贵的GPU也能在CPU上跑出一个可以接受的吞吐量。2. 结构拆解一段中文场景文字识别到底由哪几部分组成真正的场景文字识别不是输入图片、输出文字这么简单的一步操作。PaddlePaddle给出的标准解法是把任务拆成三个子任务每个子任务对应一个独立的模型组件。2.1 三段式管线检测、方向分类、识别三段式指的是文本检测从图片里定位出哪里是文字输出一个或多个多边形框实际输出的是四边形的四点坐标方向分类判断检测出来的文字区域是否需要旋转。手机拍的照片经常是歪的方向不对识别网络的表现会直线下降文字识别对校正后的文字区域做序列识别把图像特征转换成字符串。第一眼看上去方向分类这个环节好像有点多余。但实测下来在手机拍摄的样张中有接近10%的检测框存在90度或180度的方向偏差如果跳过这一步直接进识别网络准确率会掉三到五个百分点。所以PaddleOCR默认在推理时带上angle_cls这个环节是有数据支撑的。2.2 DB检测算法为什么能适应复杂背景文本检测所用的核心算法是DBDifferentiable Binarization中文叫可微二值化。理解它之前先回忆一下传统文本检测的做法模型先预测一张概率图每个像素点表示这里属于文字的概率然后取一个固定阈值把概率图硬切成二值图再在二值图上找连通域画框。问题在于阈值很敏感调高了浅色文字和低对比度区域会被切没调低了背景纹理又会被当成文字。DB的贡献是让二值化这个不可导的步骤也参与到网络训练中网络除了学概率图还额外学一张阈值图再通过可微的近似二值化函数把两者融合。相当于模型自己学习每个位置应该用多大阈值而不是人工拍脑袋定一个全局值。训练时用的损失函数分为三块概率图损失、阈值图损失以及两者融合后二值图的损失。推理阶段只保留概率图和近似二值图阈值图只用于辅助训练不会额外增加推理负担。2.3 识别端的模型演进从CRNN到SVTR识别网络负责把检测框内的文字图像转成文本。早期PP-OCR用的是经典的CRNN结构卷积层提取视觉特征RNN层建模序列依赖最后用CTC解码得到文字序列。CTC的妙处在于它不需要精确标注每个字符在图像里的位置只需要整串文字的内容这使得数据标注成本大幅下降。后来PP-OCRv3引入SVTR结构SVTR的核心是把Transformer结构用在文本识别上不再依赖循环神经网络建模序列关系而是通过自注意力机制直接捕捉字符间的长距离依赖。关于Transformer可以做一个生活化类比CRNN模型读文字就像顺着一条小路逐帧走每个时刻只知道附近几步的信息而SVTR里的自注意力机制则像站在高处俯瞰整条路一眼就能看到起点和终点自然更容易理解文字的全局结构。长文本、弯曲文本的识别能力因此提升了不少。2.4 中文字典和形近字问题PaddleOCR默认的中文识别字典ppocr_keys_v1.txt收录了约六千多个常用汉字覆盖绝大多数日常场景。但中文里侯和候、己、已和巳这类形近字在低分辨率下连人眼都容易看花模型更是如此。针对形近字比较有效的方案是增加训练样本的多样性同一种字用不同字体、不同清晰度、不同模糊程度去渲染让网络学会抓住字形上更细的区分特征。3. 环境搭建版本对应关系搞不清楚装一天都白费PaddlePaddle这套环境安装的坑比我想象中多得多。单独看官方文档每一步都简单但合在一起就有一堆版本对应关系需要理清。这一节把我踩过的坑和最终验证可用的搭配写出来。3.1 安装命令的正确顺序先明确一个概念paddlepaddle是深度学习框架本身paddleocr是基于PaddlePaddle开发OCR工具库两者缺一不可。很多人只pip install paddleocr结果运行时提示找不到paddle相关模块。我的推荐安装顺序是# 1. 先安装框架本体CPU版 pip install paddlepaddle2.6.1 # 2. 再装OCR工具库 pip install paddleocr2.7.3 # 3. 图像处理和可视化工具 pip install opencv-python shapely pyclipper如果机器有NVIDIA GPU把第一步换成pip install paddlepaddle-gpu2.6.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/3.2 CPU版和GPU版为什么不能乱换GPU版和CPU版暴露的API基本一致但底层实现完全不同。GPU版依赖CUDA和cuDNN版本必须和驱动匹配。PaddlePaddle的GPU包一般按CUDA版本区分例如cu118表示CUDA 11.8。安装前用nvidia-smi查看驱动支持的CUDA版本然后选择对应的安装包。还有个容易忽略的问题GPU版的包体积比CPU版大很多而且首次运行时会做算子选择加载模型明显比CPU慢。如果你的服务器没有GPU老老实实装CPU版就行。CPU版在纯文本识别场景下单张图片的推理耗时常见在100到300毫秒量级批量场景可以接受。我的实际建议开发机装CPU版完全够用生产环境有GPU再换GPU版两者代码不需要改动。这也是Paddle框架做得好的地方。3.3 版本配套的快速验证方法装完之后别急着写业务代码先跑一段最小验证脚本import paddle from paddleocr import PaddleOCR print(paddle.__version__) ocr PaddleOCR(use_angle_clsTrue, langch) result ocr.ocr(test.png, clsTrue) print(result)如果输出里能看到一个包含文本框坐标和识别结果的嵌套列表说明整个环境是通的。如果报错最常见的是numpy或opencv版本冲突我通常的处理方式是新建一个干净的Python虚拟环境重新按刚才的顺序逐条安装比在旧环境里一路降级快得多。4. 推理实战从一张中文街景照片到完整识别结果环境通了之后真正跑通一次端到端的识别流程。这一节直接上代码并且把每一步的参数含义、输出结构、后处理逻辑都讲清楚。4.1 用PaddleOCR跑通最基本推理以一张包含店铺招牌、路牌的实测照片为例核心代码其实很短from paddleocr import PaddleOCR ocr PaddleOCR( use_angle_clsTrue, # 启用方向分类 langch, # 使用中文识别模型 show_logFalse # 关掉日志保持输出干净 ) img_path shanghai_street.jpg result ocr.ocr(img_path, clsTrue) for idx, line in enumerate(result[0]): box line[0] # 文本框四点坐标 text line[1][0] # 识别出的文字 confidence line[1][1] # 置信度 print(f第{idx}个区域: {text}, 置信度: {confidence:.4f}) print(f坐标: {box})输出示例第0个区域: 上海市徐汇区, 置信度: 0.9912 坐标: [[112.0, 85.0], [302.0, 85.0], [302.0, 121.0], [112.0, 121.0]] 第1个区域: 某某路店, 置信度: 0.9785 坐标: [[...]]4.2 输出结构坐标、文本和置信度分别怎么读PaddleOCR输出的嵌套结构对新手非常不友好初次使用的人经常不知道取哪一层。观察上面的代码result[0]表示对第一张图传入的是路径会自动读图的检测结果它本身是一个列表列表里每个元素对应一个文本区域。每个文本区域又是一个二元组element[0]是四点坐标顺序通常是从左上角开始顺时针依次排列element[1]是二元组element[1][0]是识别文本element[1][1]是置信度。置信度是0到1之间的浮点数。我一般以0.6作为可用阈值低于这个值就认为是可疑区域后续人工复核。这个阈值不是固定的在发票这种版式相对固定的场景里可以提到0.7以上在复杂的自然环境里建议放宽到0.5避免漏检。4.3 可视化检测框快速判断效果光看打印结果还不够最好把检测框和识别文字画到原图上一眼就能看出哪个框检歪了、哪个字被念错了import cv2 from PIL import Image, ImageDraw, ImageFont img cv2.imread(img_path) font ImageFont.truetype(simhei.ttf, 24) for line in result[0]: box line[0] points [tuple(map(int, p)) for p in box] cv2.polylines(img, [points.astype(int32)], True, (0, 255, 0), 2) # 转成RGB给PIL用 img_rgb cv2.cvtColor(img, cv2.COLOR_BGR2RGB) pil_img Image.fromarray(img_rgb) draw ImageDraw.Draw(pil_img) for line in result[0]: box line[0] text line[1][0] x, y int(box[0][0]), int(box[0][1]) - 5 draw.text((x, y), text, fontfont, fill(255, 0, 0)) pil_img.save(vis_result.jpg)值得提醒的是PIL画中文需要指定中文字体文件默认字体画不出中文画出来也是方框。4.4 部分参数调整PaddleOCR初始化时暴露了一些可调参数对效果影响较大det_limit_side_len图像边长缩放上限默认960。图太大时会按比例缩小如果原图中文字本身很小建议增大到1280当然推理耗时也会上升det_db_thresh / det_db_box_threshDB检测的概率阈值和框阈值。调低det_db_box_thresh可以让更多模糊文本被检出但同时也会增加误检rec_batch_num识别阶段批量图片数默认6。GPU下可以调大提高吞吐量。参数调整不能盲目来我测试同一批数据时会把不同参数组合的检测框可视化出来对比用肉眼确认边界文本的取舍再决定最终参数。这种土办法往往比调参公式更可靠。5. 真实场景里的精度、性能与部署问题跑通Demo只是第一步。真正把中文场景文字识别用到业务里会遇到一批文档里没写明白的问题。这里把我在试用过程中遇到、也验证过解法的问题整理一遍。5.1 图像模糊、光照不均怎么处理场景照片里最常出现的问题是模糊和反光。模型本身是有抗干扰能力的但如果你发现特定来源的图片总是识别失败可以尝试图像预处理。灰度化可以降低彩色噪声干扰对比度拉伸、CLAHE局部直方图均衡可以改善光照不均对模糊图像可以先用超分模型或简单的锐化算子如Unsharp Mask做增强。有一点务必注意预处理增加的是模型输入的可读性不是万能的。把原图缩得太小再放大信息已经丢了再怎么增强都补不回来。所以采集端的分辨率比任何后处理都重要。5.2 竖排、倾斜、弧形文字的识别策略中文场景经常出现竖排的店招或者弧形的印章文字。PaddleOCR的检测模块对倾斜文本支持得不错因为检测框本身就是四边形的不要求是水平的矩形。但识别模块是按从左到右、水平方向设计的对竖排文本需要开启角度分类或者预先旋转。我的做法是先跑一遍检测统计检测框的宽高比。如果一个框的高度明显大于宽度就把这个区域旋转90度后单独送识别网络。实测下来这种方法对竖排的识别率提升非常明显。5.3 为什么单独用识别模型会漏掉小字只靠检测模块去找文字区域然后再识别这套流程有个天然短板检测模型如果漏检了那后续识别再强也没用。小字号、远处路牌、密集表格里的小字检测阶段极易漏检。我遇到过一次营业执照边缘的小字全部丢失的情况后来把det_limit_side_len从960调到1280又把det_db_box_thresh从0.5降到0.45小字找回来了一部分但误检框也多了几个。平衡漏检和误检就是这个环节里最核心的权衡工作。5.4 性能优化与批量推理当你需要每天处理几万张图片时逐张调用ocr.ocr()就不太现实了。推荐的做法是批量推理PaddleOCR支持传入图片列表一次调用处理多张图内部会做batch处理关闭无关功能如果确认图片都是正着的把use_angle_cls设为False能省掉方向分类的开销用TensorRT加速PaddlePaddle支持导出模型后用TensorRT推理GPU部署时吞吐量能提升数倍模型剪枝量化PaddleSlim提供了针对OCR模型的压缩方案可以把模型体积缩小到原来的六分之一推理速度几乎翻倍。我之前在一个CPU-only的小服务上部署通过导出推理模型、关闭方向分类、限制图像最长边把单张延迟从350毫秒降到了120毫秒左右对内部工具来说已经够用了。6. 训练专属模型数据、配置与微调全流程通用模型在标准场景下表现不错但面对特殊字体、特殊版式时微调是绕不开的路。PaddleOCR给出了从数据标注到模型训练的完成工具链这节讲实际操作。6.1 数据标注PPOCRLabel的使用要点训练文本检测模型需要标注出文字区域的四边形框训练识别模型需要提供文本框对应的文字内容。手工标注工作量巨大PaddleOCR提供了PPOCRLabel标注工具直接集成了PaddleOCR的预标注能力。操作流程安装PPOCRLabel并启动导入图片目录先用预训练模型做自动标注生成初版标注结果人工修正漏检和错标特别是文字边界不齐的情况导出标注结果生成训练所需的格式。标注质量对模型效果的影响比很多参数调优都明显。框稍微大一点、小一点虽然不影响人的理解但会让模型学到错误的边界特征后续推理时就容易输出偏大或偏小的框。6.2 合成数据解决标注量不足当真实数据严重不足时数据合成是快速扩充样本量的常用思路。一种简单做法是准备一批真实背景图用不同的字体、字号、颜色和透明扰动把目标文本渲染到背景上。中文OCR开源社区里已有不少数据合成工具原理都类似。合成数据与真实数据混合训练确实能明显提升模型在特殊字体上的泛化能力。但也要注意合成分布和真实分布的差异如果合成数据全都是清晰、水平、居中排列的文字模型在真实场景里的表现提升会相当有限。6.3 微调训练的关键配置在PaddleOCR的configs目录下有完整的训练配置文件微调时主要关注几个字段Train.dataset.data_dir训练数据目录Train.dataset.label_file_list标注文件路径列表Train.loader.batch_size_per_card每张卡上的batch大小Global.epoch_num训练轮数Global.pretrained_model预训练模型权重路径。命令示例python tools/train.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec.yml \ -o Global.pretrained_model./pretrain/ch_PP-OCRv4_rec_train \ Global.epoch_num100 \ Train.dataset.data_dir./train_data \ Train.dataset.label_file_list./train_data/rec_gt.txt微调识别模型时预训练权重加载是有讲究的。如果自定义数据集的字典与默认字典不一致需要调整字典文件并保持输出类别数一致否则加载权重时会报维度不匹配错误。第一次跑报这个错的概率很大提前做好心理预期。6.4 评估与导出训练完成后用评估脚本计算准确率python tools/eval.py -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec.yml \ -o Global.checkpoints./output/rec_ppocr_v4/best_accuracy评估指标对识别任务来说PaddleOCR提供了文本行准确率和整图准确率两个维度。前者允许个别字符错后者要求整段都对齐业务用后者更有参考价值。导出推理模型使用python tools/export_model.py \ -c configs/rec/PP-OCRv4/ch_PP-OCRv4_rec.yml \ -o Global.checkpoints./output/rec_ppocr_v4/best_accuracy \ Global.save_inference_dir./inference/rec导出之后PaddleOCR在初始化时通过rec_model_dir参数指定导出的目录就能用上微调后的模型了ocr PaddleOCR( rec_model_dir./inference/rec, use_angle_clsTrue, langch )7. 我在实际使用中的几个体会最后分享一些不太容易在文档里看到的经验。第一个体会是关于识别置信度这个东西的。很多人在做业务对接时只看置信度大于0.8就觉得没问题。但实际项目里别人更关心的不是置信度数值而是错误类型。例如把张三识别成张兰置信度可能也是0.9系统没有任何提示但造成的后果远比低置信度文本严重。所以在做中文场景文字识别的业务集成时我建议同时输出Top-5候选结果并针对常见的高危形近字做额外校验。这一步做对了生产的可用性会提升一大截。第二个体会是检测、分类、识别三者联动调优往往比单模型调优更有效。比如检测框稍微扩大一点识别准确率提升明显但框扩得过大又会引入背景干扰检测和识别之间存在一个很难解释、但确实存在的耦合现象。我在实际项目中用一批验证集反复调这条链路整体准确率从78%提升到91%这个收益大部分来自联调而不是换模型。第三个体会是动手跑一次完整流程比读十遍文档更有用。我第一次看到PaddleOCR的三段式结构时对方向分类器的作用半信半疑直到拿了一批手机竖拍的照片测试才发现关闭方向分类后准确率下滑非常明显。现在我对新接触这套流程的朋友只有一个建议先下载模型跑十张不同类型的图自己观察结果再下结论你会得到很多文档之外的认知。

相关新闻

Codex自动化闭环:感知-决策-执行-反馈四层轻量骨架

Codex自动化闭环:感知-决策-执行-反馈四层轻量骨架

1. 项目概述:不是写死的脚本,而是一套能自己“长脑子”的自动化骨架“Codex 多场景自动化:一套闭环,适配所有场景”——这个标题里藏着一个被很多人忽略的关键矛盾:“多场景”和“一套”天然互斥。我们日常见到的所谓“…

2026/10/16 4:25:19 阅读更多 →
离散变量编码三件套:因子化、One-Hot与哑变量实战解析

离散变量编码三件套:因子化、One-Hot与哑变量实战解析

做数据分析这几年,几乎每个项目都会碰到一类让人头疼的字段:里面存的全是文本。地区、渠道、颜色、等级、支付方式……这些在建模时不能直接喂给模型,必须先用某种方式转成数字。这个转换过程,就是我们常说的离散变量处理。但很多…

2026/10/16 4:24:19 阅读更多 →
大模型商业化落地路径:从场景选择到价值闭环的实践指南

大模型商业化落地路径:从场景选择到价值闭环的实践指南

很多人聊大模型商业化,张嘴就是“我们模型多强、参数多大、效果多好”,但真正站在客户面前谈合同的时候,对方第一句话往往是:“这玩意儿能帮我解决哪个具体问题?能省多少钱?出了问题谁负责?”我…

2026/10/16 4:24:19 阅读更多 →

最新新闻

Coder 平台深度解析:环境即代码与云端开发环境搭建指南

Coder 平台深度解析:环境即代码与云端开发环境搭建指南

1. 从“coder”这个标题说起:它到底指什么“coder”这个词,放在今天的技术语境里,含义比五年前宽泛了太多。早些年,它基本就是“写代码的人”的代称,跟 programmer、developer 混着用。但现在你搜“coder”&#xff0c…

2026/10/16 5:08:31 阅读更多 →
带权区间调度问题详解:从贪心失效到动态规划最优解

带权区间调度问题详解:从贪心失效到动态规划最优解

1. 先说这道题的含金量算法设计与分析课程里,习题6.3这种编号,往往卡在一个很微妙的位置——前几章刚讲完分治和贪心,后面紧接着就是动态规划,而6.3恰好就是让你把前两种思维揉碎了再重新拼起来的转折点。我当年做这道题的时候&am…

2026/10/16 5:08:31 阅读更多 →
SVM与神经网络工程选型决策指南:小样本、低延迟、高可解释场景实战

SVM与神经网络工程选型决策指南:小样本、低延迟、高可解释场景实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:08:31 阅读更多 →
基于MP2642GR-Z与dsPIC30F4013的2S电池均衡设计与实现

基于MP2642GR-Z与dsPIC30F4013的2S电池均衡设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:08:31 阅读更多 →
2020团体程序设计天梯赛复盘:从模拟到压轴的易错点全解析

2020团体程序设计天梯赛复盘:从模拟到压轴的易错点全解析

2020年那届团体程序设计天梯赛,我是真没想到自己最后会坐在电脑前,以线上方式打完全程。更没想到的是,比赛结束后对照榜单复盘,我发现自己丢的分里,有将近三分之一不是"不会做",而是"会做但…

2026/10/16 5:08:31 阅读更多 →
C++十进制转十六进制:从手写算法到标准库全解析

C++十进制转十六进制:从手写算法到标准库全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:07:31 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →