# Somnus的博客 > 记录学习、项目、实验和日常。 Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [LaTeX 数学公式速查表](https://blog.somnus.wiki/latex.md) - Markdown/MathJax/KaTeX 常用数学公式、符号、结构与排版写法速查。 - [Privacy Policy for ripfullpage](https://blog.somnus.wiki/ripfullpage.md) - Privacy Policy for the ripfullpage Chrome extension. - [友链](https://blog.somnus.wiki/you-lian.md) - 欢迎来到我的友链页面! somnus 的 GitHub :我的个人代码仓库,主要分享计算机视觉、深度学习、ROS 开发以及 C++/Rust 相关的项目与学习记录。 leon 的 X (Twitter) :分享技术日常与生活动态,欢迎来找我交流互动! ## Posts - [研一选课计划](https://blog.somnus.wiki/p/yan-1xuan-ke-ji-hua.md) - 秋季最终选课单 1. 085410本专业学位课:10学分 以下四门全部设置为“学位课”: 课程学分属性算法设计与分析3人工智能专业核心课人工智能与机器学习方法3人工智能专业核心课高等数值分析2人工智能专业课图像分析及应用2人工智能专业课合计10完成2核心+2专业 2. 公共必修:7学分 课程学分选班建议新时代中国特色社会主义理论与实践22班学术道德与学术写作规范12班工程伦理1直接选硕士学位英语3选择慕课合计7 这里建议选《学术道德》2班,是因为1班周一下午与瑜伽、排球冲突。 3. 公共选修:1.5学分 课程学分说明人工智能发展历程及其伦理、风险议题1AI相关公共选修瑜伽或排球0.5二选一合… - [2026-08-22|拔智齿](https://blog.somnus.wiki/diary/2026-08-22-ba-zhi-chi.md) - omg,为什么要有智齿,拔牙拔了快一个小时,疼死我了。 情况介绍 我在今年寒假的时候因为左下智齿萌出导致藏污纳垢引起发炎,然后当时就决定为了根治这个毛病,就把那颗智齿拔掉,医生给我拍了牙片(如下),当时医生推荐我把图片中右下右上的智齿都一口气拔掉,当时我带着上面的智齿还算正,而且也不疼就拒绝了(现在非常后悔😇),于是当时就把那颗该死的智齿拔掉了,爽爽过了半年。但是从图中看到,图片中左下角的那个智齿非常致命是一个斜着长的智齿。 这个智齿就是阻生智齿,会在生长的过程中逐渐挤压前面的一颗板牙。一方面容易导致一系列的牙被挤歪,另一方面还会与前面的板牙融合导致出现更大的问题。 于是我一直想着找机会把… - [国科大南京学院 ↔ 金马路班车速查表](https://blog.somnus.wiki/p/banche.md) - [从王虹爆火到媒体失格:左派叙事遇到女性](https://blog.somnus.wiki/essays/wanghong.md) - 传统媒体的“路径依赖”:用道德纯度代偿专业门槛 在过去几十年里,我国媒体形成了一套固定的宣传公式:用极端的“苦难”和“自我牺牲”来论证一个人的伟大。 * 逻辑自洽的年代: 当年大众的受教育水平有限,听不懂哥德巴赫猜想,也搞不清GDP和板块构造。为了降低传播门槛,媒体选择了一条捷径:通过描绘科学家和干部的“生活白痴”或“苦行僧”形象(如陈景润撞电线杆、焦裕禄忍痛工作、李四光穿补丁衣服),来向大众传递一个简单粗暴的逻辑——他生活极其艰苦、对物质毫无所求,说明他是个无私的好人;一个无私的好人,他的学术成果或工作成绩必定是顶级的。 * 极致奉献等于最高赞美: 在这种左翼叙事下,发高烧不回家、拿几百块… - [为 GitHub Actions 配置腾讯云专用部署用户](https://blog.somnus.wiki/p/githubactions-for-tencentcloud.md) - 最近在公司实习的期间,在我的腾讯云轻量服务器上跑着的一个项目,然后我算真正意义的完整尝试了 CICD 的流程,感觉非常震撼,好用,同样也遇到了今天的问题 前情提要 我在 codex 的辅助下设计了一套工作流,提交到了 github 都会触发一次 actions,具体 actions 内容如下。 name: Deploy production on: push: branches: [main] workflow_dispatch: concurrency: group: luopan-production cancel-in-progress: false permissions: cont… - [检索增强!!基础流程](https://blog.somnus.wiki/notes/jian-suo-zeng-qiang-ji-chu-liu-cheng.md) - 即检索增强技术(retrieval argumented generation)。是一种结合信息检索和文本生成的技术。旨在通过引入外部知识库来提升模型的事实准确性、相关性和多样性。 使用场景 在做一些偏企业内部的知识助手和电商客服的时候,内部的手册和知识库往往会超过大模型的上下文。通常会有以下问题: * 模型无法读取所有内容 * 模型推理成本高 * 模型推理慢 于是 rag 便有他的意义了。 整体流程 建库 首先第一步是收集数据,往往在现实工作中不会有提供好的现成的数据用,我们需要去把不同格式的数据(pdf、网站、数据库、api)。然后 就是需要对数据进行分割,把数据分成指定大小的块,通常会… - [jujutsu 使用指南](https://blog.somnus.wiki/notes/jujutsu-shi-yong-zhi-nan.md) - 最近关注了一个 b 站博主,下划线自然选择下划线lol😅。就是一个 rust 区的博主,然后在他的账号里面我注意到他介绍了 jujutsu,当时他声称是下一代的版本管理工具,直接对位 git 的。 然后今天我在 vibecoding 我的博客网站后台的时候,我的 codex 的最后一次重置卡已经用完了,我想省着留着工作的时候用,于是我去买了火山的 coding plan lite,然后在 opencode 中接入了,一开始使用的 glm5.2,但是 glm5.2 经常容易卡住,于是我换成了 kimi2.7code,但是我没注意到五小时额度(此处有伏笔),我直接让它帮我整理一下博客仓库的文件… - [曾许人间第一流](https://blog.somnus.wiki/essays/ceng-xu-ren-jian-di-yi-liu.md) - 今天早上看了科隆major决赛,见证了niko夺冠,真的太不容易了,放一张老尼的帅图。 niko在科隆major捧起冠军奖杯,是他十一年职业生涯迟到八年完成的梦。 八年足够让少年将胡须长满脸庞,足够让故事从波士顿写到科隆,足够让分道扬镳的老友重聚。这届场均rating1.22,决赛用1.43的rating率队以三比零击败黑豹。niko在29岁的年纪,亲手合上了差一点的书页。 十一年生涯里,他得到过许多,也失去过更多。人们因此将遗憾的标签贴满他的名字,直到今晚,niko给了我们一个重新认识他的机会,所有的等待在这里找到了答案。 “Listen here ,this is my time” 站在… - [理科筑骨,文科何以塑魂?](https://blog.somnus.wiki/essays/liberal-and-science.md) - 前几天,我和女朋友聊文科和理科,到底谁更有用? 我是工科生,东西做出来了,效果就在眼前。她的看法不一样。她觉得人文社科的价值没那么容易算出来,但它会影响一个社会怎么理解自己,人与人怎么相处,大家又想往哪里走。 那晚我们谁也没说服谁。不过我后来一直在想:现在很多人不太看得起文科,这不一定只是理科生的傲慢,也不是凭空出现的情绪。文科领域这些年确实有一些让人失望的表现,给了这种情绪生长的空间。 但要是把问题一股脑归到“文科没用”,也太简单了。 真正该问的不是文科有没有用,而是它有没 - [ppo vs dpo vs grpo](https://blog.somnus.wiki/notes/ppovsdpovsgrpo.md) - 这一节主要讲的就是大模型的强化学习策略,现在主流的方案就包括ppo、dpo、grpo。 背景介绍 一个传统的完整的rlhf(reinforcement learning from human feedback,人类反馈强化学习)要包括三部分:sft(监督微调)、rm(奖励模型训练)、rl(强化学习微调)。 而今天提到的三种方法,都是第三部中强化学习微调的时候,使用的不同的算法。 过去的方法 在ppo之前策略是有一个发展的过程的,具体可以参考这个 知乎 ,讲的非常具体(公式太多 - [2026-06-25](https://blog.somnus.wiki/diary/2026-06-25.md) - 之前对于 ssh 做了一点初步的了解,但是还只是关于指令的了解,并不够深入,今天在尝试无密码连接服务器,或者树莓派终端的时候有了更深入的了解。 ssh 连接方式 在使用服务器的时候,肯定会使用 ssh 指令来连接,详情可以参见这篇 博客 ,但是上面提到的连接方式都是最传统的 ssh 用户名@ip 地址,然后输入用户名的密码。 一方面这种方式效率很慢,如果密码是自己设置的常用的密码,可能连接还会比较顺手,但如果像我之前通过 vaultwarden 设置的强密码,每次连接服务器都 - [2026-06-24](https://blog.somnus.wiki/diary/2026-06-24.md) - 1. 开场 下面结合你提到的大数据、物联网、人工智能、具身智能和机电电子等方向,聊聊我自己的理解。我的本科专业是智能制造,是机械和计算机的交叉学科;研究生读人工智能,导师的课题是具身智能。身边也有不少电子信息、计算机专业的同学,所以这些内容主要来自个人经历和身边样本,供你参考。 先说结论:填志愿时,与其执着于一个听起来最新的专业名称,不如优先保证自己处在 接近目标方向、后续选择更多 的轨道上。 1.1 简单聊专业 你提到的方向都不错,也能看出来你已经在关注比较前沿的行业了。机 - [模型微调](https://blog.somnus.wiki/notes/mo-xing-wei-diao.md) - 模型后处理,对于大模型的应用,对于不同的特定场景,往往会有不同的能力需求,此时后处理(微调)就显得很有必要了。 LoRA 对于每一个任务,如果都需要从头训练大模型,那产生的 成本 往往是过量的,不光是训练的算力和时间成本,为了防止出现过拟合,从头训练大模型也需要大量的数据。于是便有人提出了这个方法LoRA,低成本的微调大模型。 Prompt的质量和多样性 远比数量重要,全量微调一个30B量级的base model只需要10w条数据即可,lora微调一个30B的大约需要2w条。 - [简单总结基础知识](https://blog.somnus.wiki/notes/jian-dan-zong-jie-ji-chu-zhi-shi.md) - 经过快一个月的学习,我对于大模型已经有了相当初步的了解,从最基础的self-attention到整体的transformer,从预处理的tokenizer到后处理的normalization。温故而知新,今天小结一下所有学到的知识。 flowchart LR %% 全局主线:横向流动 A[文本] --> TK[Tokenizer] TK --> B[token id] B --> EB[Embedding Layer] EB --> C[embedding vector] C - [2026-06-15](https://blog.somnus.wiki/diary/2026-06-15.md) - 最近办好了招商行的visa信用卡,迫不及待的试了一下cloudflare的r2存储,然后关注到网上有一个cloudflare-imgbed的项目,然后我想试试看他这个(可恶的阿里云oss,访问流量也需要收费),然后我会逐渐尝试使用cloudflare的这个来作为我的图床。 部署 整个部署的流程还是挺清晰的,但是我也遇到了不少的坑,所以是值得一提的。 可以直接看官方的这个 链接 我没注意到的问题是,其实之前也遇到过,就是在创建pages的时候,又不小心创建成workers了 可 - [第一次打包aur](https://blog.somnus.wiki/p/di-yi-ci-da-bao-aur.md) - 最近组里面给了一个图像标注的任务,但是我现在的主力电脑是mac,我在网上搜罗好用的mac上的标注软件,像很出名的开源软件labelimg和labeling都没有对应的mac版本,mac的appstore上的rectlabel,又是付费软件,就是会一直弹广告,虽然在标注的时候忍忍就过来了,但是我还是想做一个免费开源跨平台的标注软件,最好还能基于rust,不过这篇博客不介绍我的superlabel,而是介绍把软件发布到archlinux的aur中的教程。 初步介绍 我们在aur上 - [archlinux kernel Panic(滚动更新的福报)](https://blog.somnus.wiki/p/archlinux-kernel-panic-gun-dong-geng-xin-de-fu-bao.md) - 早有耳闻archlinux系统的滚动更新,可能会有突然崩溃的情况(无违规操作)。自从回学校参加毕业典礼,大概有了三四周没有用我的惠普笔记本,回来之后我对这个笔记本进行了全面的更新,结果突然就蓝屏了,以下是我在克劳德老师的指导下的修复过程 原因分析 首先从这个蓝屏的报错信息中可以看到: VFS: Cannot open root device "UUID=199aa68c-5125-4216-a220-6d38167d0f96" or unknown-block(0,0): e - [embedding](https://blog.somnus.wiki/notes/embedding.md) - 我对embedding的印象还是在做dify和fastgpt的客服时,有数据库rag解析的需求时,你需要接入一个embedding模型api,比如BGE或者text-embedding-v4,那时候对于embedding有一定初步的认识,今天详细了解一下。 基础介绍 embedding即嵌入(我印象中一直记得嵌入式工程师的英文🧑‍💻),是将经过tokenizer得到的编号转变成向量矩阵。 静态编码 独热编码(one-hot encoding) 最简单,即用向量中的一个数字1来 - [fk gofullpage(ai时代对于软件的思考)](https://blog.somnus.wiki/p/fk-gofullpage-aishi-dai-dui-yu-ruan-jian-de-si-kao.md) - 前情提要:我今天上午原本是在准备做一点公司的活,想办法能不能做一些比如商品价格爬虫之类的方案,然后GPT推荐我商品价格数据获取可以从京东万象数据中获取,然后我就到了京东云的官网,但是京东万象数据好像关闭服务了??但是我注意到京东云轻量级服务器专区,有点小心动💓,但是不同型号不同标准,也不知道哪个更适合我。我准备截图发给GPT,很明显这个页面超过一页,然后mac上我也不知道怎么缩小chrome页面,然后我想到了我之前安装的gofullpage插件,于是我便使用了,他截图功能是免 - [什么是归一化normalization](https://blog.somnus.wiki/notes/shi-yao-shi-gui-yi-hua-normalization.md) - normalization 即归一化,即把数值缩放到 正态分布 的范围内,通常是为了消除不同特征的量纲差异,使得数据更适合进行后续的分析和处理。 batch normalization 是指在神经网络的每一层,对mini-batch都进行归一化处理。 优点:加速网络训练;防止梯度问题;优化正则化效果。 缺点:BN对batch-size的大小很敏感,要求数据长度一致,且受离群数据的影响很严重。 layer normalization 在神经网络的每一层,对每个样本的特征通道进行 - [2026-05-27](https://blog.somnus.wiki/diary/2026-05-27.md) - 昨天捣鼓了一下一些网站矩阵,还是挺有意思的,比如搭建了基于somnus.top的子网站,比如docs.somnus.top、paper.somnus.top,lab.somnus.top,status.somnus.top 现在最清晰的就是这样一套搭建的逻辑,除了status这个需要定时执行的网站以外,其他都是静态网页,通过GitHub actions部署然后走GitHub pages发布,再自定义域名转接到对应的pages上。分别介绍一下这些网站的原理。 status 先介 - [2026-05-21](https://blog.somnus.wiki/diary/2026-05-21.md) - 智慧城市与交通学院本科毕业设计(论文)数字化档案检查清单 专业:智能制造工程 学号:2022116717 姓名:陈磊 建议根文件夹名: 智能制造工程_2022116717_陈磊 必须归档材料(1-10) 1. 本科毕业设计(论文)Word: 智能制造工程_2022116717_陈磊_基于深度学习的双目立体匹配优化与轻量化方法研究.docx 1. 本科毕业设计(论文)PDF: 智能制造工程_2022116717_陈磊_基于深度学习的双目立体匹配优化与轻量化方法研究.pdf 2. - [2026-05-19](https://blog.somnus.wiki/diary/2026-05-19.md) - 改进 文献格式一致 不足和展望不需要引用文献 页底距统一 有一个公式要居中和添加编号 第五章标题详细一点 柱状图表封起来 第一张每个方法都要有一个文献 - [位置编码完全解读(espeacially RoPE)](https://blog.somnus.wiki/notes/wei-zhi-bian-ma-wan-quan-jie-du-espeacially-rope.md) - 位置编码 卷积具有局部性,天然地会注意元素之间的相对位置,但是基于自注意力的transformer模型则对位置不敏感,因此必须要把元素的位置信息在embedding阶段传给元素。 比如: 我 爱 你 你 爱 我 在自注意力的理论中,这两个句子的表意是一样的,但是很明显这两者是天差地别的。 绝对位置编码 在早期的BERT、GPT2等模型中,会直接将绝对位置编码加入到embedding中,但是绝对位置编码又分为两种 可学习的绝对位置编码:直接对不同位置随机初始化一个positio - [2026-05-15](https://blog.somnus.wiki/diary/2026-05-15.md) - 最近被毕设论文的格式问题折磨的很难受,因为我用的是typst模版,只能导出pdf,不支持原生导出docx,但是毕设论文提交强制要求docx或者doc。 1解决方案 1.1pdf2docx 我女朋友有wps会员(顺便一提这个wps会员还走了我们学校的报销途径),然后wps会员支持pdf转word,于是我便使用了他的这个功能。其实效果还是可以的,大部分该转换的图表都可以正常转换,但是也存在很多问题,比如: 过多的分页符,似乎是因为wps的某种机制,他会把pdf某一页下面留空(哪怕 - [2026-05-14](https://blog.somnus.wiki/diary/2026-05-14.md) - 女朋友要来成都玩,最近使用qwen和chatgpt image2做了旅游规划,别说,效果还挺好的。 flowchart LR A[双流机场] B[酒店1] C[景点1] D[西南交大] E[景点2] F[成都西站] G[酒店2] H[九寨沟] I[酒店3] J[天府机场] A-->B-->C-->D-->B-->E-->F-->G-->H-->I-->J 以下是我的答辩记录: 学生陈磊围绕《基于深度学习的双目立体匹配优化与轻量化方法研究》进行汇报,介绍了双目立体匹配的研究背景 - [2026-05-13](https://blog.somnus.wiki/diary/2026-05-13.md) - 今日毕设答辩 陈磊毕设答辩讲稿 2000字逐页口语版 第1页 各位老师好,我是陈磊。我的毕设题目是《基于深度学习的双目立体匹配优化与轻量化方法研究》。这项工作主要围绕两个问题:一个是提升双目匹配在边缘、遮挡等困难区域的精度,另一个是降低模型部署时的计算和显存开销。 第2页 我的汇报分为五部分:研究背景、相关理论与基线模型、精度优化方法、模型轻量化实现,以及最后的实验结果和总结。 第3页 首先介绍研究背景与意义,主要说明为什么要研究双目立体匹配,以及它目前还存在哪些实际问题。 - [2026-05-11](https://blog.somnus.wiki/diary/2026-05-11.md) - 最近捯饬这个破博客网站就捯饬了好久,现在的效果还算挺满意的,之前就感觉走的优点太偏了,过分追求美术风格,导致已经偏离了我的初心。 原本是想做一些技术分享,现在已经变成了家豪风格,现在准备返璞归真。 找了一个新的主题,感觉很简洁。 小项目 今天关注了一个小项目,就是这个 greenwall刷绿墙 的小项目,原本我是准备自己也刷一下我的仓库绿墙的,因为之前真的太空白了,好丑,好丑。 然后就关注到这个项目了。 项目原理 这个项目其实我第一眼看到我就大概知道他的原理了,首先我们要知道 - [word2token的奥秘](https://blog.somnus.wiki/notes/word2tokende-ao-mi.md) - 为什么要有tokenizer tokenizer的作用是把文本序列转换成数字序列,即token编号,作为transformer的输入。 graph LR A[word] --tokenizer-->B[token id] B --embedding-->C[vector] C-->D[...] word-based tokenizer 将文本分成一个个词,优点是表达意思准确,但是问题是很容易把同一个意思的词分成很多类,比如cat和cats就会被分成两类,按照这样的编码方式,就 - [fk transformer](https://blog.somnus.wiki/notes/fk-transformer.md) - transformer transformer是在这篇 attention is all you need 中提出来的。 上图就是该论文最核心的模型架构图,本文也是围绕着这个架构图来展开的。 embedding 由input embedding和位置编码相加得到,后面的文章详细介绍。 input embedding可以通过 word2Vec,bert,OpenAI Embedding API 等方式获取,目的是将文本映射到连续的向量空间(把文本变成模型能处理的向量)。 位置编 - [自注意力,万恶之源(不是)](https://blog.somnus.wiki/notes/zi-zhu-yi-li-mo-e-zhi-yuan-bu-shi.md) - attention 注意力机制,最早是在机器翻译论文** Neural Machine Translation by Jointly Learning to Align and Translate **中提出来的,他的核心是,用一个东西产生的query,去key/value中查询需要的东西。在上述论文中encoder-decoder attention的结构中。 Q来自于decoder K,V来自于encoder decoder 当前正在生成目标语言词,它用自己的 query - [2026-05-06](https://blog.somnus.wiki/diary/2026-05-06.md) - 这里写日记… 以后的日记还是在appflowy上面更新了,但是他的跨设备功能很方便,但是我现在还没找到导出markdown的按钮,所以现在不太能连载到我的博客网站上面了 取消了一个appflowy,fuck,因为他不但没有导出markdown function,而且还没有ai接入功能,在他足够完善之前,我都会使用obsidian的sync方案。虽然有点贵,一个月要37块钱左右,就当成知识付费了,但是部署appflowy的经历还是有不少可以总结的。 最近部署了一下 appflo - [2026-05-04](https://blog.somnus.wiki/diary/2026-05-04.md) - 临时写一篇日记,昨天晚上看了一篇koji关于阿里百炼技术负责人的于文渊的 视频播客 ,略有感想。 总结播客 于文渊提到, ai的应用场景已经从闲聊转向了生产力的场景,从而带动了高质量token消耗量 指数级提升 。 阿里云百炼的核心使命之一是实现算力资源的最优化配置,确保每一块 GPU 都能被物尽其用 对于计算机专业的学生,他建议应利用 AI 提升效率,但核心竞争力在于能够识别 AI 产出的潜在缺陷,坚守那 1% 的深度判断力 算力短缺如同工业领域的“石油”匮乏,中国 AI - [2026-04-30](https://blog.somnus.wiki/diary/2026-04-30.md) - rust学习 今天的rust的学习主要是学了 trait ,我原本对 trait 的印象就是一个放在 #[derive()] 里面的,比如增加了 Display 或者 Debug 的trait之后,就可以直接在println里面打印结构体。 我今天主要学的就是重载运算符、 Drop 和 trait 的特性。简单总结一下 trait trait 是什么,顾名思义, trait 的中文是特征,即一种 定义共享行为 的机制,不管是什么数据类型,只要定义了这个 trait ,就一定要 - [2026-04-29](https://blog.somnus.wiki/diary/2026-04-29.md) - 最近刘总分配了一个新任务,就是从抖店后台抓取抖店的订单数据,保存到本地的excel,还是有所经验可以总结的 先介绍方案,先通过影刀来抓取网页数据,并保存到本地,在将其本地数据通过调用大模型进行清理,再通过python将其写入到中excel。 自动获取数据 为什么使用影刀 相较于影刀,我更多关注了哪些原生支持cli和开源的方案,一方面,支持cli就可以通过agent来自动化获取数据;另一方面,开源方案通常来说本地部署是不需要钱的。 但是后来我在试着根据这个 视频 来通过clau - [服务器基础1](https://blog.somnus.wiki/p/fu-wu-qi-ji-chu-1.md) - 我在没有这个台式机之前只有一个带集显的笔记本,所以之前的训练任务只能通过租服务器来训练,不可避免的去学一下操作远程服务器的指令。避免每次都要google或者问ai,于是写成这篇博客。 感觉这样的操作就像现在很火的一个词:skill 😄,总结成经验方便以后调用。 ssh连接 首先是连接 ssh -p 44012 root@connect.bjb2.seetacloud.com 然后输入yes,再输入密码。 这个很简单,也没有什么好说的。 从远程服务器复制 scp指令 这个是最常 - [Cachyos安装](https://blog.somnus.wiki/p/cachyosan-zhuang.md) - 前言: 刚刚入职一周左右,我现在也算在玄武 安定下来 了,于是我便让我家里人把我寒假组装的台式机从老家寄过来,然后我还买了一块 1TB 的固态硬盘 💾,专门用于台式机的 Linux 系统。 最近这段时间,Linux 系统也是经历了 频繁更换 😅 -> ubuntu -> archlinux -> fedora -> cachyos 。最终决定 长期使用 的就是 CachyOS 🎉。 简要介绍 🌟 CachyOS 是由 CDN77 和 CLOUDFLARE 赞助的、基于 Arc - [Modern Swjtu Thesis开发](https://blog.somnus.wiki/p/modern-swjtu-thesiskai-fa.md) - 最近正在准备写本科毕业设计论文,不想用微软的word写,因为感觉不够极客 😧 ,也不想使用LaTex,因为LaTex太笨重了,编译速度太慢了,在线服务overleaf又是收费的(帮黄学长报销这个来着,好像一个月要三百多 🙀) 在网上搜罗搜罗发现了typst,一个基于rust内核的开源的标记语言排版系统,速度非常快,功能我觉得的也足够强(公式什么的都能很好地显示),同时我在他的模板库也找到了其他大学的毕业论文模板(nju),于是基于这个模板,我便衍生做一个swjtu的版本,最后 - [Fastgpt初体验1](https://blog.somnus.wiki/p/fastgptchu-ti-yan-1.md) - 最近刚刚入职了某小厂,作为ai实习生,也是开启了自己的牛马生涯。 公司的第一个任务就是做一个电商客服,我在网络上搜罗了一下可能比较成形的方案,最终决定选择使用fastgpt框架调用qwen api+千牛后台。 介绍 fastgpt是是一个ai agent搭建平台,提供了开箱即用的数据处理和模型调用能力,可以方便的本地化部署工作流。而且这个项目好像是中文项目,感觉ai agent领域很多都是中文(比如还有dify)。 工作流介绍 我的智能客服工作流是在他在线方案的模板下,简单改 - [Rust学习01-所有权](https://blog.somnus.wiki/notes/rustxue-xi-01-suo-you-quan.md) - Trait trait(特征)是一种 定义共享行为 的机制,可以理解成其他语言中的接口,相当于是不管你底层是什么数据类型,只要定义了这个trait,就一定要实现这个trait的功能。 定义和实现 trait本质上是一组方法签名的集合,你可以定义一个trait并为不同的结构体去实现这个trait,代码实例如下 // 1. 定义一个名为 `MakeSound` 的 Trait,规定了必须有一个 `sound` 方法 pub trait MakeSound { fn sound ( - [Vaultwarden使用教程](https://blog.somnus.wiki/p/vaultwardenshi-yong-jiao-cheng.md) - 最近正在因为换了浏览器,进行过一次密码迁移,在迁移的过程中总感觉有种隐忧,就是密码泄露或者丢失的风险 其实密码泄露给这些大型的公司比如Microsoft/Google,其实对我没影响,但是如果片丢失了,就影响大了,因为我有很多的网络站点都是使用浏览器生成的强密码,此前很多密码管理工具也出现过数据丢失的问题。 所以我想着自己搭建属于自己的服务来实现,更安全(但不一定更可靠)的密码服务。 调研 我简单调查了市面上所有的密码管理器,主要分为两部分: a、云服务:除了依赖浏览器厂商, - [260328](https://blog.somnus.wiki/p/secret-111-share.md) - 一、轻量化部署方向工作总结 1、研究动机 在前期实验中,基于 RAFT-Stereo 的 refinement head、边缘感知损失以及 partial unfreeze 等改进方法,并未在 Middlebury 数据集上取得稳定、显著的精度提升,说明原始 raftstereo-middlebury 模型本身已经具有较强性能,小规模真实域数据下难以通过小幅结构改动进一步提升整体指标。 因此,后续工作将研究重点由“继续提升精度”转向“在尽量保持精度的前提下降低模型部署开销”, - [Eulerproj01](https://blog.somnus.wiki/notes/eulerproj01.md) - p002 题目 Problem 2: Even Fibonacci numbers 题目链接 Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with $1$ and $2$, the first $10$ terms will be: $$1, 2, 3, 5, 8, 13, 21, 34, 55, 89, \dots$$ B - [Raft训练日志2](https://blog.somnus.wiki/p/raftxun-lian-ri-zhi-2.md) - 前情提要 我上一个训练日志中,尝试对RAFT-Stereo模型进行优化,通过添加refinement层和边缘损失感知,然后训练完的模型的EPE和D1几乎没有产生变化。因为这个层结构对整个模型来说都没什么影响。接着我在改完的这个模型后,对模型进行了partial unfreezement,然后在此基础上对middlebury数据集进行训练。最后得到的结果EPE和D1反而变差了,这个大概率是因为我本地的数据集太小,在此基础上进行训练会很容易导致过拟合的现象。自此,我便将研究重心转 - [Ml Launcher开发](https://blog.somnus.wiki/p/ml-launcherkai-fa.md) - 最近做一些模型训练的项目,每次在训练的时候,长长的后续参数都让人很头大(每次都要问a:怎么让这个项目跑起来),于是我想是否可以弄一个项目,方便的设置参数,便有了这个项目。 简单介绍 首先,为了保证模型训练的时候不能产生太多的内存和性能消耗,所以这个项目使用了rust来编写,实测这个项目的后台占用大概在20MB左右,几乎不会对模型训练产生影响。 其次,这个项目为了方便在终端运行,所以没有选用带GUI的前端,而是直接使用rust的终端显示库,ratatui,实际体验下来,这个库还 - [Tmux使用教程](https://blog.somnus.wiki/p/tmuxshi-yong-jiao-cheng.md) - 为什么用tmux:首先,因为我最近换了一个终端模拟器alacritty,这个模拟器不支持原生的分屏,需要通过tmux辅助。别问为什么非要用alacritty而不是自带分屏的ghostty,因为一个是rust一个是zig。 另外,我在使用服务器训练raft视觉模型的时候,偶尔因为网络断开连接,导致远程ssh关闭,自动的结束了训练,虽然我知道了可以使用nohup 在>输出到log文件中,但是还是觉得如果可以用tmux这种会更方便。 tmux简介 为了解决上面提到的很常见的问题(关 - [Zsh开箱即用](https://blog.somnus.wiki/p/zshkai-xiang-ji-yong.md) - 本文简单介绍了一下如何在linux(ubuntu24.04)上面安装zsh - [Dify初体验1](https://blog.somnus.wiki/p/difychu-ti-yan-1.md) - 工作流介绍。 工作流整体如图所示。 首先是用户输入,对于用户输入的问题,使用一个参数提取器,调用glm-4.7模型对其进行参数提取,参数提取为year,region,task_type,keywords。为了方便的其他操作。 接着呢,就是一段代码执行块,执行了下面这一段python代码。主要实现的逻辑是,对于没有发布指定法规的年份,使用上一个最近的发布的法规,即对于2022徐州的问题,就返回2021年发布的支出标准。对于2026徐州就返回2025年发布的支出标准。 def m - [Raft训练日志1](https://blog.somnus.wiki/p/raftxun-lian-ri-zhi-1.md) - 前情提要 什么是RAFT RAFT-stereo是基于RAFT的扩展。RAFT即Recurrent All-Pairs Field Transforms,是一个很出名的光流估计模型,他的特点是先建立全局匹配关系,再通过循环迭代不断细化结果,每一步更新都会变得更准,而RAFT-stereo是基于这个模型的双目改造。 RAFT-stereo的原理 先用卷积网络提取左右图的高维特征,而不是拿RGB去比较。因为原始RGB容易受到光照,纹理,噪声影响。 接着就是构建相关性体,简单说就是 - [我的第一篇博客](https://blog.somnus.wiki/diary/wo-de-di-yi-pian-bo-ke.md) - 你好,这是我的博客 🚀 放一张linus的照片 ## Optional - [RSS Feed](https://blog.somnus.wiki/posts/rss/) - [Sitemap](https://blog.somnus.wiki/sitemap.xml) - [Full content of pages and posts](https://blog.somnus.wiki/llms-full.txt)