- 博客(692)
- 收藏
- 关注
原创 【高并发】Celery + Redis异步任务队列方案提高OCR任务时的并发
线程池在处理OCR任务时仍会阻塞请求,主要原因包括:请求-响应周期未分离、共享进程资源、Python的GIL限制等。这些问题导致高并发请求时线程池满,新请求被阻塞,长任务占用线程,资源竞争加剧。相比之下,Celery+Redis提供了更好的解决方案,通过异步任务队列实现真正的异步解耦,资源隔离,可靠性保障和状态监控。Celery+Redis的优势包括:立即返回任务ID,独立进程处理OCR,任务持久化和自动重试,支持实时查询任务状态。性能对比显示,Celery+Redis在请求响应时间、最大并发处理能力、资源
2025-05-09 18:10:32
1183
原创 【Flask】ORM模型以及数据库迁移的两种方法(flask-migrate、Alembic)
在Flask中,ORM模型通常是通过SQLAlchemy(最流行的Python ORM工具)或类似的库来定义的。一个ORM模型对应数据库中的一个表。
2025-05-05 20:53:10
1032
原创 【JWT+OAuth】Fastapi+Vue中的用户权限管理设计
它是一个装饰器工厂函数,接收一个权限名称作为参数,返回一个 FastAPI 依赖项用于检查当前请求的用户是否拥有指定的权限。
2025-05-03 23:28:51
787
1
原创 DeepSeek谈《凤凰项目 一个IT运维的传奇故事》
这本书的价值不仅在于DevOps技术实践,更在于对组织文化和思维模式的颠覆——正如Erik所言:"IT工作的目标不是更努力,而是更聪明。)是Gene Kim、Kevin Behr和George Spafford合著的一部小说,通过虚构的故事生动展现了IT运维中的核心挑战和DevOps文化的变革力量。:小说中濒临失败的IT项目代号,象征传统IT管理方式(冗长流程、部门壁垒)的困境。例如:代码扫描(SAST)、依赖检查(SCA)、运行时防护(RASP)。
2025-04-30 18:54:18
753
原创 玉米产量遥感估产系统的开发实践(持续迭代与更新)
前端:React+Mapbox GL(空间数据可视化 vs 性能优化)软件工程思维在农业科技项目中的价值——从实验室算法到生产级系统的跨越。遥感处理:GDAL+Python科学栈(计算密集型任务优化)基于Gitcode的敏捷开发(用户故事→里程碑规划)农业遥感估产的行业痛点(数据分散、模型精度不足)PostGIS空间索引优化查询(百万级田块数据)分层架构:数据层→业务逻辑层→API层→展示层。项目核心目标:高精度、可扩展的产量预测系统。遥感算法的单元测试策略(Mock卫星数据)
2025-04-25 19:56:59
475
原创 Git从入门到协作:开发者必备的版本控制指南
例如,如果你的本地分支与远程仓库的 `origin/master` 分支关联,执行 `git pull origin master` 会将 `origin/master` 的最新更改合并到你的本地 `master` 分支。当你执行 `git pull` 命令时,Git 会先执行 `fetch` 操作,然后自动将远程分支的最新更改合并到你的当前分支。其中 `<remote-name>` 是你为远程仓库指定的名称(通常为 `origin`),`<remote-url>` 是远程仓库的 URL。
2025-04-24 00:33:40
752
原创 Pytorch实用教程(一):torch.compile计算提速
开源仓库:TingsongYu/PyTorch-Tutorial-2nd: 《Pytorch实用教程》(第二版)无论是零基础入门,还是CV、NLP、LLM项目应用,或是进阶工程化部署落地,在这里都有。相信在本书的帮助下,读者将能够轻松掌握 PyTorch 的使用,成为一名优秀的深度学习工程师。在线阅读:简介 · PyTorch实用教程(第二版) (tingsongyu.github.io)
2025-04-22 14:10:25
883
原创 【Flask】Explore-Flask:早期 Flask 生态的实用指南
PEP 8 和文档字符串仍是 Python 开发的基石,但可通过工具自动化。
2025-04-21 13:26:11
405
原创 【开源项目】Excel手撕AI算法深入理解(四):注意力机制(Self-Attention、Multi-head Attention)
多头注意力的核心思想是“分而治之”分:通过多组投影并行学习多样化的注意力模式。合:拼接并融合所有头的输出,得到更全面的表示。这种设计让 Transformer 能够同时处理复杂依赖关系(如长距离依赖、多类型关系),成为现代 NLP 的基石。
2025-04-17 20:39:24
754
原创 【开源项目】Excel手撕AI算法深入理解(二):多层压缩重建(Autoencoder、Multi-Layer Perceptron (MLP)、Residual Network (ResNet))
Autoencoder 的核心是通过“压缩-重建”学习数据的本质特征。理解其数学原理(如与 PCA 的关系)和变体(如 VAE)是深入应用的关键。
2025-04-16 20:34:44
685
原创 【开源项目】Excel手撕AI算法深入理解(三):时序(RNN、mamba、Long Short Term Memory (LSTM)、xLSTM)
Selection:赋予模型动态过滤能力,是Mamba的核心创新。:通过时变递归实现自适应记忆。:将连续理论落地为可计算的离散操作。
2025-04-15 23:11:44
1147
原创 【开源项目】Excel手撕AI算法深入理解(五):进阶(Transformer、Transformer-Full-Stack、AlphaFold)
原始论文(《Attention Is All You Need》)中采用modeldff=4×dmodel(如512→2048),这是经验性选择平衡模型容量和计算效率。实验表明,扩展倍数小于4可能导致性能下降,大于4则收益递减。2.3 解码器层(Decoder Layer)比编码器多一个掩码多头注意力(Masked Multi-Head Attention)掩码机制:防止解码时看到未来信息(训练时用三角矩阵掩码)。编码器-解码器注意力:解码器的Q来自上一输出,K/V来自编码器输出。3. 关键数学细节。
2025-04-13 17:21:01
601
原创 【开源项目】Excel手撕AI算法深入理解(一):基础(ReLU、SoftMax、Temperature)
定义ReLU和LeakyReLUrelu = nn.ReLU() # 默认参数print(relu(x)) # 输出: tensor([0., 0., 2.])print(leaky_relu(x))# 输出: tensor([-0.0100, 0.0000, 2.0000])概率化输出将神经网络的原始输出(可能为任意实数)转换为 0 到 1 之间的概率值,且所有类别的概率之和为 1。
2025-04-13 14:06:09
663
原创 【书籍】DeepSeek谈《持续交付2.0》
持续交付2.0》是乔梁在经典著作《持续交付》基础上的升级版本,它不仅延续了第一版的核心思想,还结合了数字化转型时代的新需求,提出了更系统化的方法论。
2025-04-11 00:21:20
976
原创 【书籍】DeepSeek谈《程序员修炼之道-通向务实的最高境界》
程序员修炼之道》(The Pragmatic Programmer)是一本超越具体技术的开发者思维指南,它教会我们如何以「务实者」而非「码农」的视角看待软件开发。
2025-04-05 16:53:13
830
原创 【大模型】两种工具调用模式:预制工具 vs 动态代码生成
预制工具调用和动态代码生成各有优劣,没有绝对的好坏之分。开发者应根据具体应用场景的安全要求、灵活性需求和开发资源,选择最适合的模式或组合。在大多数企业级应用中,混合模式往往能提供最佳的平衡点。
2025-04-05 15:00:46
950
原创 【Pandasai】理解SmartDataframe 类:对dataframe添加自然语言处理能力
将普通 pandas DataFrame 转换为具有自然语言交互能力的智能 DataFrame通过 chat() 方法允许用户用自然语言查询数据维护数据表的元信息(名称、描述等)提供便捷的属性和方法访问底层 DataFrameAgent 类的主要职责是:接收自然语言查询生成相应的数据处理代码执行生成的代码处理执行结果或错误维护对话上下文和状态。
2025-04-05 12:07:52
815
原创 【书籍】DeepSeek谈《人月神话》
人月神话》是软件工程领域的经典之作,Fred Brooks 以其在 IBM System/360 项目中的深刻经验为基础,提出了许多至今仍被广泛讨论的洞见。
2025-04-05 10:43:27
781
原创 【软件开发】可复用的数据库导入工具类
属于类而非实例的方法,不需要访问实例属性 (self) 或类属性 (cls),本质上是一个放在类命名空间内的普通函数。@staticmethod 是 Python 中的一个装饰器,用于定义静态方法。将所有数据库模型类定义在单独的文件中。确保每个模型类继承自Base。
2025-03-30 17:52:28
218
原创 【解决方法】合并单元格导致的pandas无法读取excel问题
就是他的员工编号和姓名是一个合并单元格,这就导致了,pandas只会读取第一行数据,后面就都是null,但是旁边的其他几个列会存在数据,需要对excel或者pandas进行批处理,使得每一行都有姓名编号。.bfill()(Backward Fill):从下往上填充,用后一个非空值填充当前空值。用前一个有效值填充当前列的空白值(即 前向填充,Forward Fill)。它会从上往下查找,遇到空值(NaN)时,用前一个非空值填充当前空值。时间序列数据缺失值填充(如股票数据、传感器数据)。pandas前向填充。
2025-03-30 16:32:55
395
原创 【书籍】DeepSeek谈《软件开发的201个原则》
软件开发的201个原则》(201 Principles of Software Development)是一本经典的软件开发指南,浓缩了行业经验和最佳实践。)的实施时机,我的建议是:既不是完全在写代码时立即封装,也不是等项目完成后再处理,而是一个渐进式、有意识的平衡过程。不要过度设计:在首次编写代码时,如果某段逻辑的复用性不明显(例如只被调用1次),可以先实现功能,确保代码正确性。” 前端分层:数据层(Axios)、逻辑层(Composition API)、视图层(模板)分离。
2025-03-29 15:37:27
674
原创 【源码阅读/Vue & Flask前后端】简历数据查询功能
一般就是三个层面,model层面用来建立数据库的字段,service用来对model进行操作,写一些数据库操作的代码,route就是具体的功能了,其中会包含一些数据库service层的函数。
2025-03-29 15:09:49
831
原创 【论文写作】Overleaf latex写作
fig1.png 到 fig9.png、fig8a.png、fig8b.png:PNG格式的图表或照片,用于文档中的插图。sn-article.tex 主LaTeX源文件,包含文档内容(文字、公式、图表引用等)和结构命令(如\section)。sn-bibliography.bib BibTeX数据库文件,存储所有参考文献的元数据(作者、标题、期刊等)。Tfig1.png 到 Tfig4.png:可能为附加图表(前缀“T”可能表示“Table”或特定分类)。
2025-03-26 20:35:18
488
原创 【复盘】大批数据清洗前如何进行数据认知
在批量数据处理前先对数据有一些基本的了解,再去动手处理,会提高效率,而且能够避免一些踩坑带来的时间成本。下面说一些数据认知的方法。
2025-03-24 20:28:10
861
原创 【工程实践/源码阅读】批量文件处理步骤以及如何并行处理
需要对3000份文件进行处理,内容、文件名不是很标准,而且文件类型多种多样,需要统一转成PDF,再从PDF解析为markdown。再各个处理的阶段,也会带来一些脏数据,比如doc转PDF的时候,就可能有部分doc转换失败。在数据处理过程中,往往会形成一些超大文件(这些文件中可能是乱码),这些文件如果不处理会影响后续的处理效率。排序完查看一下大文件和小文件,是不是最大文件是处理后乱码变成脏数据,还有最小文件是不是空白页没有进行处理。这里是估计了一下超过9页的文件可能是一个脏数据,然后就删除。
2025-03-23 22:08:40
469
原创 【记录】并行运行olmocr把服务器跑崩
之前有一篇博客讲的并行脚本来处理,但发现这个olmocr光多GPU运行不管用,因为只开了一个30024端口,这些8个GPU仍然要争抢一个端口,其实质上还是串行的,那修改的思路就是,我开8个端口,每个端口对应一张卡,那是不是就能够彻底地并行运行了。好吧都是自己吓自己,不过到机房的时候,服务器确实卡死机了,我给他强制关机然后重新启动了。对olmocr的源码进行了修改,原先源码中端口是一个全局变量在最开始初始化定义了30024的端口,现在把他给改成可以接受命令行传过来的参数。8个卡两个端口,还是跑不成功。
2025-03-22 14:43:47
395
原创 【工程实践/大批量文件处理】文件排序
sorted函数可以对文件列表进行排序,默认按字母顺序排序。通过key参数,可以自定义排序规则,例如按文件扩展名、文件大小、修改时间等。通过,可以实现逆序排序。如果你有更具体的排序需求,可以告诉我,我会帮你写出对应的代码!
2025-03-20 22:09:19
442
原创 【源码阅读/工程实践】并行运行10张GPU榨干算力
之前的还是串行,是因为在for循环中,每次执行下一个python文件都需要等待上一批的处理做完,这里可以有一种异步的方式,就是选定了GPU张数之后让命令在后台运行,这样就不用等待,会迅速接下一个python文件的执行。每次执行python文件都是新开一个进程用不一样的GPU环境,互相不冲突。有3000份PDF需要OCR解析,原有的项目是用命令行来执行的。将初始的数据文件等分成10份,用args来获取外部给的参数,并切换到对应的第几份文件上。都跑起来了,不浪费一点两台服务器的算力资源,全是中国红。
2025-03-19 19:13:27
1032
原创 【源码阅读】多个函数抽象为类(实现各种类型文件转为PDF)
面向对象设计,意味着更好的代码组织和复用。整个类在下面函数的书写过程中,增加了错误处理和状态检查,使得类更加健壮和灵活,可以更好地处理各种情况和错误。最开始就是写了几个函数(包括doc、excel、ppt类型的文件)转换为pdf,需要将这些函数形成一个类。相似的一类函数就可以组成一个实现特定功能的类。首先是类的初始化,且定义了一个不同类型的文件如何进行处理的字典,支持更多文件格式。提取文件的后缀类型,并使用字典中对应的方法进行文件转换。使用起来也很方便,先创建一个实例,然后调用实例。
2025-03-19 10:12:37
524
原创 【Leetcode】328. 奇偶链表
原代码中使用了额外的 dummy 节点和 tail 指针来管理偶数节点,但实际上可以通过两个指针 odd 和 even 来分别管理奇数节点和偶数节点。其实就是双指针吧,双指针的两种形式,一头一尾向中间遍历,另一种就是两个指针头两条链了。一般不会超过两个指针。
2025-03-18 19:42:13
293
原创 【环境】Huggingface_hub中下载指定模型
由于默认会下载到.cahce文件中,我们在全局环境中把下载位置改到自己的huggingface文件夹下面。直接用他的代码,第一次用代码会自动下载模型文件。中,找到这个模型,然后下面会有用例。这里我需要下载的是这个模型。
2025-03-18 13:58:09
420
原创 【工具】FinalShell替代xhell和xftp
能显示文件占用空间大小,而且可以对其中文件点击下载之后,会在桌面形成一个文件夹,里面就是需要和服务器交互的文件。比shell好的就是没那么大,而且一个软件就集成了xhell和xftp的功能。
2025-03-18 13:19:34
247
原创 【环境问题】命令行可以SSH但是Vscode不行(未能下载Vscode服务器)
当我去查这个commit文件的时候,发现设备没有空间了,在这个设备上无法创建。于是df -h查询了磁盘大小,确实只剩20K了,所以就是空间问题。是因为vscode连接的时候,都会有一个commit文件。删除了一些没有用的文件,释放了一些空间,然后又能连上了。vscode不能连接,通过命令行的ssh命令可以连接。
2025-03-18 10:08:19
741
原创 【Leetcode】234. 回文链表
你使用 unordered_map 来记录每个值的出现次数,但这种方法无法判断链表是否是回文的。回文链表的特点是正序和逆序的值序列相同,而你的代码只是统计了值的出现次数,无法反映顺序信息。你的代码在最后检查 hash 是否为空,但这并不能判断链表是否是回文的。用递归优雅地反向遍历,然后同时有一个从左往右的节点,来进行双指针的判断。然后两种解法其核心都是双指针,一头一尾来进行判断,解决回文的问题。确实,这种哈希表只能记录出现次数,但是顺序信息不保留。用数组存储链表值,然后判断数组是否回文,用双指针。
2025-03-17 19:11:09
397
原创 【源码阅读】olmocr中的prompts
这个提示词确实一步步写的清晰具体,而且给了足够的思考过程,有一个思维链的感觉,让他慢慢地按步骤去推理。然后给的背景信息放在最后面。
2025-03-17 15:53:01
590
遥感-PROSAIL模型-LAI反演
2025-02-19
赵英时《遥感应用分析原理与方法》上课PPT
2023-11-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人