自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

所有专家都曾始于新手

Continuous improvement is better than delayed perfection.

  • 博客(681)
  • 收藏
  • 关注

原创 【软件开发】可复用的数据库导入工具类

属于类而非实例的方法,不需要访问实例属性 (self) 或类属性 (cls),本质上是一个放在类命名空间内的普通函数。@staticmethod 是 Python 中的一个装饰器,用于定义静态方法。将所有数据库模型类定义在单独的文件中。确保每个模型类继承自Base。

2025-03-30 17:52:28 192

原创 【工具】Vscode数据库(sqllite)扩展工具

在处理数据库时需要有一个界面来显示.db的情况,更方便我们进行处理。边做开发边看数据库了。

2025-03-30 16:36:17 212

原创 【解决方法】合并单元格导致的pandas无法读取excel问题

就是他的员工编号和姓名是一个合并单元格,这就导致了,pandas只会读取第一行数据,后面就都是null,但是旁边的其他几个列会存在数据,需要对excel或者pandas进行批处理,使得每一行都有姓名编号。.bfill()(Backward Fill):从下往上填充,用后一个非空值填充当前空值。用前一个有效值填充当前列的空白值(即 前向填充,Forward Fill)。它会从上往下查找,遇到空值(NaN)时,用前一个非空值填充当前空值。时间序列数据缺失值填充(如股票数据、传感器数据)。pandas前向填充。

2025-03-30 16:32:55 330

原创 【书籍】DeepSeek谈《软件开发的201个原则》

软件开发的201个原则》(201 Principles of Software Development)是一本经典的软件开发指南,浓缩了行业经验和最佳实践。)的实施时机,我的建议是:既不是完全在写代码时立即封装,也不是等项目完成后再处理,而是一个渐进式、有意识的平衡过程。不要过度设计:在首次编写代码时,如果某段逻辑的复用性不明显(例如只被调用1次),可以先实现功能,确保代码正确性。” 前端分层:数据层(Axios)、逻辑层(Composition API)、视图层(模板)分离。

2025-03-29 15:37:27 620

原创 【源码阅读/Vue & Flask前后端】简历数据查询功能

一般就是三个层面,model层面用来建立数据库的字段,service用来对model进行操作,写一些数据库操作的代码,route就是具体的功能了,其中会包含一些数据库service层的函数。

2025-03-29 15:09:49 772

原创 【技巧】Python 解释器能够找到项目中的其他模块(子目录、父目录)

有的时候找不到模块,总是爆红。

2025-03-27 20:10:37 196

原创 【论文写作】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 361

原创 【复盘】大批数据清洗前如何进行数据认知

在批量数据处理前先对数据有一些基本的了解,再去动手处理,会提高效率,而且能够避免一些踩坑带来的时间成本。下面说一些数据认知的方法。

2025-03-24 20:28:10 815

原创 【工程实践/源码阅读】批量文件处理步骤以及如何并行处理

需要对3000份文件进行处理,内容、文件名不是很标准,而且文件类型多种多样,需要统一转成PDF,再从PDF解析为markdown。再各个处理的阶段,也会带来一些脏数据,比如doc转PDF的时候,就可能有部分doc转换失败。在数据处理过程中,往往会形成一些超大文件(这些文件中可能是乱码),这些文件如果不处理会影响后续的处理效率。排序完查看一下大文件和小文件,是不是最大文件是处理后乱码变成脏数据,还有最小文件是不是空白页没有进行处理。这里是估计了一下超过9页的文件可能是一个脏数据,然后就删除。

2025-03-23 22:08:40 440

原创 【记录】并行运行olmocr把服务器跑崩

之前有一篇博客讲的并行脚本来处理,但发现这个olmocr光多GPU运行不管用,因为只开了一个30024端口,这些8个GPU仍然要争抢一个端口,其实质上还是串行的,那修改的思路就是,我开8个端口,每个端口对应一张卡,那是不是就能够彻底地并行运行了。好吧都是自己吓自己,不过到机房的时候,服务器确实卡死机了,我给他强制关机然后重新启动了。对olmocr的源码进行了修改,原先源码中端口是一个全局变量在最开始初始化定义了30024的端口,现在把他给改成可以接受命令行传过来的参数。8个卡两个端口,还是跑不成功。

2025-03-22 14:43:47 354

原创 【工程实践/大批量文件处理】文件排序

sorted函数可以对文件列表进行排序,默认按字母顺序排序。通过key参数,可以自定义排序规则,例如按文件扩展名、文件大小、修改时间等。通过,可以实现逆序排序。如果你有更具体的排序需求,可以告诉我,我会帮你写出对应的代码!

2025-03-20 22:09:19 417

原创 【Leetcode】430. 扁平化多级双向链表

需要找一个简单的题实现一下递归。

2025-03-19 20:06:31 273

原创 【源码阅读/工程实践】并行运行10张GPU榨干算力

之前的还是串行,是因为在for循环中,每次执行下一个python文件都需要等待上一批的处理做完,这里可以有一种异步的方式,就是选定了GPU张数之后让命令在后台运行,这样就不用等待,会迅速接下一个python文件的执行。每次执行python文件都是新开一个进程用不一样的GPU环境,互相不冲突。有3000份PDF需要OCR解析,原有的项目是用命令行来执行的。将初始的数据文件等分成10份,用args来获取外部给的参数,并切换到对应的第几份文件上。都跑起来了,不浪费一点两台服务器的算力资源,全是中国红。

2025-03-19 19:13:27 1022

原创 【源码阅读】多个函数抽象为类(实现各种类型文件转为PDF)

面向对象设计,意味着更好的代码组织和复用。整个类在下面函数的书写过程中,增加了错误处理和状态检查,使得类更加健壮和灵活,可以更好地处理各种情况和错误。最开始就是写了几个函数(包括doc、excel、ppt类型的文件)转换为pdf,需要将这些函数形成一个类。相似的一类函数就可以组成一个实现特定功能的类。首先是类的初始化,且定义了一个不同类型的文件如何进行处理的字典,支持更多文件格式。提取文件的后缀类型,并使用字典中对应的方法进行文件转换。使用起来也很方便,先创建一个实例,然后调用实例。

2025-03-19 10:12:37 509

原创 【Leetcode】328. 奇偶链表

原代码中使用了额外的 dummy 节点和 tail 指针来管理偶数节点,但实际上可以通过两个指针 odd 和 even 来分别管理奇数节点和偶数节点。其实就是双指针吧,双指针的两种形式,一头一尾向中间遍历,另一种就是两个指针头两条链了。一般不会超过两个指针。

2025-03-18 19:42:13 274

原创 【环境】Huggingface_hub中下载指定模型

由于默认会下载到.cahce文件中,我们在全局环境中把下载位置改到自己的huggingface文件夹下面。直接用他的代码,第一次用代码会自动下载模型文件。中,找到这个模型,然后下面会有用例。这里我需要下载的是这个模型。

2025-03-18 13:58:09 210

原创 【工具】FinalShell替代xhell和xftp

能显示文件占用空间大小,而且可以对其中文件点击下载之后,会在桌面形成一个文件夹,里面就是需要和服务器交互的文件。比shell好的就是没那么大,而且一个软件就集成了xhell和xftp的功能。

2025-03-18 13:19:34 223

原创 【环境问题】命令行可以SSH但是Vscode不行(未能下载Vscode服务器)

当我去查这个commit文件的时候,发现设备没有空间了,在这个设备上无法创建。于是df -h查询了磁盘大小,确实只剩20K了,所以就是空间问题。是因为vscode连接的时候,都会有一个commit文件。删除了一些没有用的文件,释放了一些空间,然后又能连上了。vscode不能连接,通过命令行的ssh命令可以连接。

2025-03-18 10:08:19 411

原创 【Leetcode】234. 回文链表

你使用 unordered_map 来记录每个值的出现次数,但这种方法无法判断链表是否是回文的。回文链表的特点是正序和逆序的值序列相同,而你的代码只是统计了值的出现次数,无法反映顺序信息。你的代码在最后检查 hash 是否为空,但这并不能判断链表是否是回文的。用递归优雅地反向遍历,然后同时有一个从左往右的节点,来进行双指针的判断。然后两种解法其核心都是双指针,一头一尾来进行判断,解决回文的问题。确实,这种哈希表只能记录出现次数,但是顺序信息不保留。用数组存储链表值,然后判断数组是否回文,用双指针。

2025-03-17 19:11:09 384

原创 【源码阅读】olmocr中的prompts

这个提示词确实一步步写的清晰具体,而且给了足够的思考过程,有一个思维链的感觉,让他慢慢地按步骤去推理。然后给的背景信息放在最后面。

2025-03-17 15:53:01 553

原创 【工具/调研】各种类型文件转PDF

LibreOffice 是一个免费的开源办公套件,支持将 .doc 文件转换为 .pdf。

2025-03-17 13:12:47 429

原创 【Leetcode】206. 反转链表

正确更新指针:在反转链表时,你需要先保存当前节点的下一个节点(nextTemp),然后将当前节点的 next 指针指向前一个节点(prev),最后更新 prev 和 curr 指针。递归的精髓就是,它能够做到反向遍历,因为在顺序表中,反向遍历很简单,只有i–就行了,链表的反向遍历用递归,就是每次都会从尾部向前就行操作。不仅要存储先前的节点,还要存储后面的节点。需要有头尾指针,然后又觉得可以用递归。

2025-03-16 23:43:15 212

原创 【Leetcode】203.移除链表元素

如果直接删除当前节点的话,就找不到前面一个节点,无法前一个节点next到当前的下一个节点。所以引入了一个pre来存储前一个节点。第二个示例和第三个示例,因为可能上来就遇到空链表或者是全是相同于所给值的链表,那就需要对头指针进行判断了,先来一个while循环遍历到合适的头指针位置,不相同才开始执行第一套流程。原来的代码中,head 的处理和后续节点的处理是分开的,优化后的代码通过哑节点统一处理,减少了冗余代码。从哑节点开始,每次判断哑节点的下一个节点是否与Val相同,这样就省去了原来代码第一个判断Head。

2025-03-15 16:29:51 491

原创 【Leetcode】138.随机链表的复制

好简洁又高效的代码,本来以为一大串,结果用回溯简单解决了,思路设计太优雅巧妙了。如果 cachedNode 中没有当前节点的映射,说明该节点还未被拷贝。哈希表,用于存储原链表节点和拷贝链表节点的映射关系。看不懂题目意思,但猜想要用环,先写个环吧。如何能够掌握这种回溯的简单优雅的写法。检查当前节点是否已经被拷贝过。拷贝需要先创建节点,new。

2025-03-14 20:45:06 280

原创 【部署】ubuntu部署olmOCR

libnccl.so.2 是 NVIDIA 的 NCCL(NVIDIA Collective Communications Library)库的一部分,通常用于多 GPU 通信。这是 CUDA 工具包的一部分,通常在安装 CUDA toolkit 时应该包含这个库。从报错信息来看,问题出在 pip install -e . 时无法创建 olmocr.egg-info 目录,原因是 权限不足(Permission denied)。启动运行命令之后会安装模型权重文件,十几个G,还是很大的。

2025-03-14 17:16:15 1152 2

原创 【Vue】上传PDF功能

JavaScript/TypeScript 中的模块导入语法,用于从 Element Plus 组件库中导入 ElUpload 和 ElDialog 两个组件从 @element-plus/icons-vue 图标库中按需导入多个图标的语法。UploadFilled:一个“上传”图标,通常用于表示文件上传操作。导出一个 Vue 组件,使其可以在其他文件中被导入和使用。

2025-03-14 16:50:18 1093

原创 【环境问题】Vscode上ssh无法连接问题汇总

当你首次通过 SSH 连接到某个远程服务器时,SSH 客户端会将该服务器的公钥存储在 ~/.ssh/known_hosts 文件中。这样,在后续连接时,客户端会检查服务器的公钥是否与 known_hosts 中的记录匹配,以确保连接的安全性。问题:用户在D盘上创建了一个ssh文件夹,并把私钥文件放在该文件夹下,并且在配置信息中的IdentityFile写了D盘的这个路径。解决方法:先把私钥放到c盘的用户的.ssh下,然后配置信息中写对应的C盘的路径。解决方法:把之前的known_的所有文件都删掉。

2025-03-14 08:45:40 510

原创 【Leetcode】92. 反转链表 II

不需要用两个while循环来找头尾,一个for就可以做到了。反转操作是内部的重组,而不是依靠接到其他外部节点上。

2025-03-13 21:30:47 233

原创 【运维】服务器系统从centos7重装为ubuntu22.04

把准备好的硬盘插入服务器,在开机时一直按F12【注意:不同的机器按键不一样,需要自己看,反正都是进入到BIOS模式】前两个是自带的机械硬盘,第三个是home目录,原先的centos也是放在这下面的,就是需要把这个驱动给删掉。【注意:挂载的时候不要挂载到/home下面,会把配好的驱动给覆盖,这样前面都白装了哈哈】【注意:这一步会把硬盘的数据清空,所以需要找一个空的U盘或者把U盘数据备份】然后就输入账号密码了,账号不要用root,其他什么都可以,密码也没要求。然后进入到安装页面,到这的时候按E。

2025-03-13 15:28:00 678 2

原创 83. 删除排序链表中的重复元素

检查 p->next->val(第二个节点 1)是否等于 p->val(第一个节点 1)。检查 p->next->val(第三个节点 2)是否等于 p->val(第二个节点 1)。检查 p->next->val(第四个节点 3)是否等于 p->val(第三个节点 2)。不重复,p 移动到 p->next(第三个节点 2)。链表:1 -> 1 -> 1 -> 2 -> 3。链表最终为:1 -> 1 -> 2 -> 3。链表变为:1 -> 1 -> 2 -> 3。需要有if、else来判断。

2025-03-12 22:44:24 222

原创 【部署/工具】zeotero好用的插件推荐以及安装

可视化图表、词云管理文献阅读情况、自动提取论文中的图表内容。上述zeotero6的插件已经绑定到资源中,自取。自动抓取论文争议点、被支持、被反驳、被引用数。自动抓取期刊标签、影响因子、记录阅读进度。注意下载与zeotero版本对应的插件。笔记文献同步到IPAD等其他阅读器上。自动从4个数据源抓取论文被引用数。自定义标签分类、管理论文内容。侧边栏显示所有参考文献内容。点击文献条目预览PDF内容。使用精读模板记录文献笔记。管理条目附件、笔记下载。

2025-03-12 19:13:29 1038

原创 【调研】olmOCR解析PDF

效果上,olmOCR解析得到的内容排版更加清晰整齐,而且对于6份GOT-OCR有重复的测试例子,olmOCR有明显的更好的无重复的效果。可以后续采用部署olmOCR来替代GOT-OCR。将最底下没有文字的部分,可能是样式解析出重复。速度上,olmOCR效果更快。

2025-03-12 10:17:34 414

原创 82. 删除排序链表中的重复元素 II

你的代码有一些逻辑错误和冗余的部分。首先,pre->next=head 这一行是不必要的,因为 pre 已经指向 head,不需要再将其 next 指向 head。其次,你在删除重复节点时的逻辑也有问题,特别是 if(p->next!用了一个int x来记录已经重复的值,这样能够把所有和该值重复的元素都删掉。删除冗余代码:去掉不必要的 pre->next=head。修正逻辑错误:正确判断节点值是否相等,并删除重复节点。简化代码:使用更简洁的方式遍历链表并删除重复节点。

2025-03-11 19:33:11 178

原创 【调研】模型输出内容的json形式content怎样处理可以转换为json?

虽然去除了\n,但是对于转为json并没有影响。说明json.load()并不考虑是否有\n,他可能在内部会做一些去除的操作。这是content后得到的是一个字符串中的json模板,还需要通过一些清洗来转换为json。基础的去除,就是去除开头```json和尾部的 `` `目前已经可以通过load加载为json形式。移除字符串开头和结尾的空白字符。

2025-03-11 15:46:16 243

原创 61. 旋转链表

闭合成环,然后一刀切开。

2025-03-10 15:28:44 241

原创 【团队协作】分支命名规范

在 Git 团队协作中,分支命名规范非常重要,它可以帮助团队成员快速理解分支的用途,减少沟通成本,并保持仓库的整洁。在 Git 团队协作中,分支命名规范非常重要,它可以帮助团队成员快速理解分支的用途,减少沟通成本,并保持仓库的整洁。

2025-03-10 14:51:51 614

原创 【必学】Python调试debug

替代print更高效,追踪变量的变化过程,特别是一些字符串、字典、json这种格式的数据预处理,转来转去,之前太头疼了,不知道处理出来什么样子,所以都要用print打印出来看一下。现在有这个工具能够提升效率了。

2025-03-10 14:11:12 1203

原创 25. K 个一组翻转链表

需要记住链表的常用操作。

2025-03-09 21:37:26 136

原创 1695. 删除子数组的最大得分

你的代码逻辑基本正确,但在窗口收缩的部分有一些问题,可能会导致错误的结果。具体来说,你在收缩窗口时,hash[nums[r]]-- 和 sum -= nums[r] 的操作是错误的,因为 nums[r] 是当前右指针指向的元素,而不是需要移除的元素。你需要移除的是左指针指向的元素。先完成最简单的逻辑,然后后续再根据不同的情况将逻辑判断完善,如果一上来就把所有逻辑都能够写出来有点困难。遵循的是不断迭代优化的原则。while里面要判断的是当前滑动窗口不满足的条件。

2025-03-09 12:34:30 332

原创 Prompt engineering设计原则(一)

更长、更复杂的Prompt,给出更清晰明确的上下文。一般使用Json来进行输出,这样输出的格式不会乱,而且后续可以通过Python提取json中的内容。在接下来这个 Prompt 中,我们要求模型先自行解决这个问题,再根据自己的解法与学生的解法进行对。我们可以在 Prompt 中先要求语言模型自己尝试解决这个问题,思考出自己的解法,然后再与提。这种先让语言模型自主思考的方式,能帮助它更深入理解问题,做出。模型有更多时间思考,有时可以获得更准确的结果。在这个例子中,学生的答案是错误的,但如果我们。

2025-03-09 11:49:24 977

部署ubuntu部署olmOCR

部署ubuntu部署olmOCR

2025-03-14

【部署/工具】zeotero好用的插件推荐以及安装

【部署/工具】zeotero好用的插件推荐以及安装

2025-03-12

遥感-PROSAIL模型-LAI反演

ARTMO,是MATLAB环境的辐射传输模型工具箱,包含有PROSAIL-SAIL传输模型,3.29版本,该版本需要配合5.5.6的数据库一起使用,已经放在文件夹里了。走一条开源的路

2025-02-19

GOT-OCR的论文文件

GOT-OCR的论文文件

2025-01-14

Qt操作主/从视图及XML-实例:汽车管理系统

Qt操作主/从视图及XML-实例:汽车管理系统

2024-10-05

GEE计算遥感生态指数RESI

GEE计算遥感生态指数RESI

2024-07-04

土壤侵蚀量化评估-文献《基于 USLE 的甘南川西北土壤侵蚀研究》

土壤侵蚀量化评估-文献《基于 USLE 的甘南川西北土壤侵蚀研究》

2024-03-03

USLE模型-LS因子的计算

USLE模型-LS因子的计算

2024-03-01

高分影像RPC校正工具

包含rpc.exe和一个xml文件

2024-02-28

一带一路流域2022-2023年降水量变化GIF可视化

一带一路流域2022-2023年降水量变化GIF可视化

2024-01-17

赵英时《遥感应用分析原理与方法》上课PPT

https://www.bilibili.com/video/BV1VV411v7r3/?spm_id_from=333.337.search-card.all.click B站有些朋友没有PPT资源,评论区问,优快云分享下

2023-11-27

作物模型-土壤数据制备过程

作物模型-土壤数据制备过程

2023-11-02

2020年河北省玉米种植地分布30米分辨率

2020年河北省玉米种植地分布30米分辨率

2023-10-02

Python计算巴氏距离

硕士论文

2023-09-30

雄安新区高程+区位组合图

Arcgis制作

2023-08-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除