post_img

计算机应用数学(下)

摘要

因为这门课程内容比较多,按照春夏学期分开来写。上半学期还有很多坑没填上,后面会补上的(会的吧) 二编:后半部分一些关于有限元方法和 …

author_avatar
chensy

2026.07.14

2026-07-14 21:14

大约已经不能称为月记了,要称为季度记了()。这次记录仍然是因为网站自身的变动。之前网站运行在 CloudCone 上,但前段时间 CloudCone 的机房物理迁移导致停机三十余小时,迁移结束后网络故障长达五天之久,至今没有修复。虽然我对 VPS 的要求也不高,但是这也太离谱了些,遂认真研究了一下 DigVPS,最终选择迁移到 quicksrv 上。不查不知道,查了才发现 CloudCone 用的是 E5,我说怎么这么卡,中国到 LA 的延迟也不至于这么高。quicksrv 的 CPU 和硬盘都相当强劲,用起来很合适。本来打算先买一个月观察一下,但前两天 quicksrv 也进行了物理迁移,承诺的时间是四个小时,最后花了九个小时。官方专门发了邮件解释延误的详细原因,并且延长一个月的租期作为补偿。这态度很好了,本来唯一的顾虑就是这家新厂会不会光速跑路,现在看来应该还是比较可信的。所以,现在把整个站点迁移过来了。丝滑程度提升了很多。

顺着上一条记录,后来真的把 python 后端换成了 C++ dlib,用 Conan2 和 Cargo 连起来,效果相当不错,打包小了很多,并且性能差不多,就是配置过程坑非常多。后来又在 DinoV2 上做了微调,不过数据质量实在是很拉。

最近心理状态实在是比较糟糕。心理问题是一个很奇妙的陷阱,只要有一次被认为有心理问题,哪怕不是很正式,日后也会频繁地怀疑自己是不是真的有心理问题。总之还是研究上的压力。这些东西下次再写吧。

author_avatar
chensy

2026.03.29

2026-03-29 15:01

很久没写了,大约已经可以称为月记了()。上一篇已经是年前的事情了,过年的时候本来多少想写点,无奈确实是没什么感想,同时遇上终末地抽卡破防的事情,干脆就不写了。紫金港已经是春天了,大约也只有每年的花季才会有点春天的感觉。化学实验中心那里原来是油菜花,现在改成一片蓝色的花了,很漂亮。正式的名字似乎是喜林草。一眼看过去就让人觉得和银月之庭里的祈月之花很像,应该就是以此为原型创造的吧。

今天又来写一些废话,主要是做一些 rust 上的技术总结,但由于是杂谈,也就不开新的文章了。过去两个月,把图像分割的程序基本完善了,也对这门语言多了一些感想。但从语言本身来说,个人认为 rust 已经是相当优秀的语言,包括包管理器 cargo、官方的检查器和 linter rust-analyzer 以及语言自身的语法,足以超越 python 和 C++ 一众老东西。特别地,rust 是强类型语言,但是类型推断又做得很好,这使得它一方面能够享受强类型的福利(定义和引用跳转从不出现 undefined 情况、大范围的静态语法检查),又不会由于类型系统带来额外的编码负担。这也使它非常适合 agentic coding,因为 agent 能够非常容易地拿到诊断信息,同时也不用担心像 python 那样的环境混乱的情况。在语言层面上,能够与之相比的可能只有 typescript;因为 typescript 也算是强类型的语言,并且性能比一般的纯解释型语言要好。但是本人向来是痛恨 typescript 的,原因在于 javascript 本身的语法就是依托史;javascript 一方面混合了各种风格的语法,包括但不限于面向对象,闭包甚至函数式,另一方面与最初的 html/DOM 高度耦合,最终使其成为不可名状之物。本人自认为写 js 也写了挺久了,至今仍然不能完全看懂 js 的代码。typescript 是它的超集,并没有从本质上改变这个状况;或者说,即使加入了类型系统,typescript 也不能够从语言设计上保证良好的程序风格,而必须依赖于外部的最佳实践。稍有不慎就会写出史一样的代码,属于人类看一眼就会爆炸的范围。

但 rust 致命的短板在于生态。js/ts 的生态量已经非常恐怖了,python 也是如此;但 rust 的生态还远远不足。这次的图像分割包使用了 pca/umap/kmeans 这样的经典算法,rust 的数值计算生态不说没有,只能说高度混乱。甚至连最底层的 blas/lapack 都还没有好的接口,ndarray 也有版本依赖问题,上升到 scipy 的层面更是群魔乱舞,有弃更的,有 vibe 的(指 scirs2),总之不是很靠得住。对于深度学习或者是更简单一些的图像处理,倒是有更完备的方案。onnxruntime 看着乱,实际上 ort 的支持已经很不错了,过去的两个月已经验证了 windows 上 directml 后端的可移植性,这一点非常方便。webgpu 后端目前有严重的计算精度问题,只能说未来可期。框架方面,burn 的发展正处于如日中天的状态,可能已经不错了,不过目前想不到有什么理由会在 rust 下做训练。

另一方面,我发现很多 rust 的 crate 都不怎么写文档和用例,高度依赖于 docs.rs 这种东西,这非常不好。这也是唯一一点我认为 js 的生态有好处的地方。再加上 rust 库往往都还在 breaking change 的状态,每加一个库都是一种折磨。不过现在 agent 可以比较大地缓解这种状态了。

但很不幸地,我总是要和数值算法打交道。这周还尝试用 rust 实现了一下 umap,评价是连 svd 的生态都没有,那还是别做了。图像分割包中为了打补丁,只能把整个 python 环境 pack 进去了,但这样做毕竟不是很好,因为 python 环境打包实在太大了,有 300-400M 的样子。目前看来,更优的思路是反其道而行之,向下走,因为 C++ 在科学计算这方面反而有更好的生态,并且有 header-only 这样的库来保证一致性。rust 和 C++ 的衔接总是有办法的,原汤化原食嘛。这种思路挺有吸引力的,未来有空的时候往这个方向试试看。

author_avatar
chensy

2026.01.23

2026-01-23 10:49

今天突然没有什么学习的动力,干脆就小摸一会吧。还没太想好接下来要干什么,或者说有一点累了。

最近推完了原神挪德卡莱的主线,远超出原本的预期。原神本来没有空月之歌这个版本,挪德卡莱地区可以说是在进入至冬开始对故事进行收尾之前临时用于缓冲和揭露真相的临时地区(前瞻里就是这么说的),因此我本来不期待这个地区能够像完整的一个国家或者地区一样有高规格的叙事。甚至于在推完第六章的时候,我仍然认为猎月人相关的故事是挪德卡莱地区的核心,毕竟五大罪人相关的内容已经涉及到整个故事最深层的内容,到这里已经符合我对于挪德卡莱地区的预期了。至于“博士”,事实上空月之歌的起始就已经点明了他的存在,因此我对于断章处他的出现并不惊讶。对于月神哥伦比娅这个角色,我一开始也没有作为核心的角色看待。作为一位初生的神明,她能够化解与霜月之子之间的矛盾,找到自己的“家”,我认为已经是圆满的叙事。所以我对最后两章并没有太大的期待。

直到推最后两章的时候开始回收大量的伏笔,我才知道得坐起来看了。时间再一次被作为隐藏核心的手法而使用;月神不过是一位初生的神明,这使得她的故事看上去似乎并没有纳西妲或者芙宁娜那样厚重。就好像小圆认识焰不过短短几周或者几个月的时间,对焰来说却是经历了漫长的轮回。哥伦比娅在月亮的倒影里沿着时间逆流而上,慢慢回收了前六章中那些最不起眼的伏笔,逐渐揭示出她在这个故事中核心的地位。她遇到了永远困于时间两岸的雷利尔和索琳蒂斯,最后走过上千年的时光,见到了最初的三月女神。在这里,哥伦比娅回收了挪德卡莱最大的伏笔。此时,初见空月之歌的Nodkrai响起,哥伦比娅将自己散入月华,飘散在挪德卡莱的山林之间,只留下第一次在银月之庭时听到的清唱在大地上回响。哥伦比娅在此刻从迷茫的白鸽成长为守护挪德卡莱千年的月神,一位真正意义上的神明,也在漫长的岁月中等待她的朋友们再次到来,等待回到她的“家”。挪德卡莱的叙事在这一刻达到巅峰,也揭示了哥伦比娅的吟唱中所包含的另一层情感。推到这里属实震撼,同时也第一次感受到同步推主线时完全不一样的感觉,毕竟回坑的时候纳塔的主线已经结束了。推完没忍住抽了哥伦比娅,万幸没有歪,否则要破费了。

另外昨天终末地公测了,及时体验了一番。舟的美术确实不让人失望,另一方面第一天就出逆天bug也属实难绷。不过小陈和小羊都是开服角色,属于是把想抽的都送了。整体感觉挺好的。

post_img

Optimizer as Associative Memory

摘要

这是摘自Nested Learning中的片段。尽管整篇文章依旧很难评价,并且长篇的理论说明中不乏左右脑互搏和理论滥用的成分,但这 …