【SQLite3】使用 SQLite 为模型训练中的并行 dataloader 节省内存

0x00 前言

我的训练数据读到内存里就有好几个 G 那么大了,
多进程 dataloader 跑并行训练的时候内存都被打满了怎么办啊?!
解决方案: 基于 SQLite 无限数量的并行读取做一个 dataset 呗

Read More

【SymbolicLink】利用软连接将已安装程序迁到其他盘符

0x00 前言

一个基于 Sybmolic Link 的很有意思的解决方案:
mklink /D <产生一个不占空间的等价目录位置> <占空间的目录位置>
可用于将安装好的程序目录剪切到其他位置,在原位置生成一个标志链接,以达到腾出硬盘空间的同时不影响使用。
例如,把游戏已经安装到 C 盘了,之后想挪到 D 盘去,但担心剪切过去游戏就玩不了了。
假如直接剪切,会带来复杂的文件依赖问题,这样可以给C盘腾出来了还不用考虑各种文件依赖问题。

简单来说,陪伴我快 7 年了的笔记本,它的磁盘空间不怎么够。
C 盘有个模拟器,连程序带数据一起 17.9G,我给他剪切到 D 盘去。
现在几个盘均衡负载啦,看起来都还不错 ~
但是,无论是点桌面上的模拟器快捷方式、或是在 D 盘找到模拟器的 exe 文件打开,
都会报错 —— “有文件找不到”。
disk_storage

Read More

【Requests】Bilibili Security 1024程序节 CTF记录

0x00 前言

B站搞了个1024程序员节,看起来是个 toy CTF,有点开心。
于是想到了曾经在CTF和ACM的路口选择了ACM,CTF一直是心中的一点遗憾,想着要不咱……玩玩看?

【写在前面】这次有点意思,可能 flag 是需要和各位自己的 uid 有某些计算的,不同账号同一时间以及相同账号不同时间的答案居然会有不同,看来是为了防止无脑抄袭,至少还是需要用自己的 uid 亲自走一遍流程的,不错不错。

Read More

【CheatEngine】关于BCR的内存分析

0x00 前言

随着学级的提升,任务的数量和种类原来越多,深感时间越发不够,犹豫再三还是决定把杀时间却对自己没有什么提升的兴趣爱好逐一舍弃掉,首当其冲的就是占用较多碎片时间以及睡前时间的手游。
弃坑每个手游的时候,在微博上都会发下在下作为开服玩家的仓库和BOX之类的,为了在遥远的未来和别人谈论起这个游戏,能用这些截图证明自己不是云玩家,而是真实确实参与过的。
但仅是如此的话,我觉得还不够吧,不如以一个计算机专业学生的视角,从一些别人不常看到的角度来讲讲,顺便记录一下由于一时兴趣而耗费在这个游戏上的那段时光。

写给被舍弃掉的 BCR 手游,讲述我所了解的这些游戏的数据、战时内存以及对于防修改的一些建议。
(本来想发到52pojie,但太久没去登陆帐号没了 QvQ)

P.S. 本篇主要用于给数据挖掘与内存理解上已经足够熟练的Coder进行学习交流(以及留档),
本文仅提供分析,不给出定位及修改过程,并会刻意省略零基础玩家到内存分析中的gap知识点,
防止普通玩家基于本篇对游戏肆意修改破坏游戏环境。

Read More

【Grpc】使用grpc配置通过端口访问的python服务

0x00 前言

近期兴趣使然的技术调研越发的少了(TTS算一个),主要的都是为了项目和任务去研究的东西。目前的情况是为了节约显存,对一个较大的模型而言,比起使用4个worker来重复的占用显存,不如只占用一份显存,但是开启服务流式或触发式地处理不同项目的需求。
于是 @caoyixuan93 学长向我推荐了GRPC,经过 @hongfeng 和 @phchang 的帮助,终于得以成功实现了一个小的自定义demo,后续再花些时间把模型装载上去。

Read More