PowerShell 创建自定义命令
将 .ps1 脚本封装为 PowerShell 命令
龙芯杯 MIPS-GCC 交叉编译环境配置
MIPS32-GCC 交叉编译环境
oh-my-posh 配置记录
使用 oh-my-posh 美化 windows terminal
论文复现 - IDM
IDM
PKU TPAMI 2025
架构
主干网络
噪声估计器基于 SD1.5,并对其 U-Net 结构进行了修改 (we further simplify the U-Net by removing its time embeddings, cross-attention layers, and the final three scales to balance efficiency and performance.)
论文给出的结构图。对原模型进行了不少剪枝。
这部分可以结合代码理解
12345del unet.time_embedding, unet.mid_blockunet.down_blocks = unet.down_blocks[:-2]unet.down_blocks[-1].downsamplers = Noneunet.up_blocks = unet.up_blocks[2:]...
TTT 的选取
实验部分对去噪步数分析了参数敏感性,结论是 TTT 取 3 时综合收益最大。
可逆布线
Notably, with our two le ...
论文复现 - MAGIS(二)
Comparasion Schemes
Sys 方向的工作,对比实验做起来比较麻烦。MAGIS 对比了 TVM、XLA 等多个后端。记录安装过程。
TVM
参考官方文档[1]安装的是 apache-tvm v0.11,这个版本是跑不起来。是要带 --pre 参数安装。
12pip install apache-tvm --preSuccessfully installed apache-tvm-0.14.dev273 ml-dtypes-0.5.0
补装以下库
12pip install tlcpack-nightly-cu116 --pre -f https://tlcpack.ai/wheelspip install pytest
XLA
尝试 PyTorch-XLA,一步一坑,无比麻烦。相关链接 [1:1] [2] [3] [4],这里只粗略记录。
由于 torch 版本低,只能装旧版 xla,没有教程参考。
跑样例,ImportError: libpython3.10.so.1.0: cannot open shared object file
检查 /usr/loca ...
Jupyter Notebook 安装
Jupyter Notebook 安装配置
Jupyter Notebook 似乎很不喜欢用户安装非最新版。但是为了兼容服务器上的各种库的旧版本 (原因见以往博客),还是试了一下。纯净的安装流程请移步「安装」
Errors
第一个报错的库是 typing-extensions,为了避免 tensorflow 出现问题,首先尝试降级到 4.5.0,然而会在配置 Jupyter Notebook 账号密码时报错。从 Jupyter 仓库看过版本后决定从 7.3 降至 6.5.6。
因为之前的 Python 是手动编译的,这里又埋了一个坑。运行 jupyter notebook --generate-config,报错
12ModuleNotFoundError: No module named '_sqlite3'ModuleNotFoundError: No module named 'pysqlite2'
检查 dpkg -l 是安装了 sqlite3 的,问题出在构建 Python3 时缺少 libsqlite3-dev 依赖。安装 lib ...
V2Ray-A 配置记录
V2Ray-A 安装配置
服务器要上外网!一直 scp 十分麻烦。
安装
参考 [1] 安装。
V2Ray
12root@pve:~/share/tools# unzip v2ray-linux-64.zip -d /usr/local/v2ray-coreroot@pve:~/share/tools# sudo mkdir -p /usr/local/share/v2ray/
V2Ray-A
1root@pve:~/share/tools# dpkg -i installer_debian_x64_2.2.6.3.deb
添加如下配置
1234root@pve:~/share/tools# vim /etc/default/v2raya# 添加如下配置V2RAYA_V2RAY_BIN=/usr/local/v2ray-core/v2rayV2RAYA_V2RAY_CONFDIR=/usr/local/v2ray-core
检查服务状态
12345root@pve:~/share/tools# systemctl status v2raya○ v2raya.service - v2 ...
论文复现 - MAGIS(一)
MAGIS
Experimental Setup
主要软件包版本。基于以下环境运行了 Resnet50 + CIFAR Demo 进行验证。
CUDA 11.6
CuDNN 8.4.0
PyTorch 1.13.1
Python 3.10.5
一些说明
任务
根据 Renze Chen 描述,任务是跑一遍 forward + backward,测时间和内存开销。Samples 输出的 results.csv 里有实验一节里的各种评估指标。数据集不重要,可能是随机生成。至于几个 Comparasion Schemes,则需要分别实现 ResNet 等。
nn/
实现了 ResNet,ViT 等网络。Transformer.py 中有 Bert 等网络定义。两个大模型也基于 config.py 对 Transformer.py 作用即可。
torch_cuda.py
相当于把 nn/ 中定义的网络转为 pytorch,跑 baseline,然后再进入 MAGIS 工作流。所以 Pytorch Baseline 相当于已经实现了。待研读代码。
Run
第三次实验求助了作者, ...
浅谈非易失内存
非易失内存 - 总结篇
谨以此告别前半段研究生生涯。
该说点什么呢
整理无味,搁置可惜。
这个题目起的有些大了,实际上聚焦于讨论非易失内存的页面迁移算法。死课题,炒冷饭,加之学业以外的糟心事情,现在回想,没有轻舟已过万重山的如释重负,只觉荒唐。
附件自取。覆盖面较全了,只是不够详细。
有一论文,屡投不中。以后大概也会扔进附件里。
聊聊专业
行文至此,还是讲讲 NVM 吧。
为什么死了
聊聊我的看法。NVM 主打一个 memory 的名字,但当前的内存体系结构里根本没有「非易失」这一层,导致要么做 memory 牺牲持久性,要么做纯 storage,无非在内存映射时占点便宜。但你又不是一天没事干就在那 I/O,做 storage 和现有介质相比没有显著优势。
以 Optane 为例,是可以配置成好几个模式,比如做 storage 时可以作为块设备或字节设备 (驱动意义上),做 memory 时则和一般内存条没有太大区别,除了不能配进一个 NUMA 节点。容量和持久性对 memory 不可得兼。当然,配进 NUMA 后与原本的 DRAM 节点形成快慢内存,可以去炒另一个概念 M ...
深度学习环境配置(一)
CUDA/CuDNN/PyTorch 环境配置
前置 | Python
参考 [1] 查找版本对应,切换 Python 版本
ModuleNotFoundError 解决。想要什么模块就装完再构建,如 BZIP2
1apt install libbz2-dev
手动编译安装
12./configure --enable-optimizationsmake altinstall
版本切换
12# 直接在 .bashrc 修改了alias python='/usr/local/bin/python3.10'
卸载 (针对手动编译)
123# 由于源码安装,删除目录便是卸载root@pve:~/share/project/mynn# rm -rf /usr/local/bin/python3.10root@pve:~/share/project/mynn# rm -rf /usr/local/bin/python3.10-config
CUDA
首先 nvidia-smi 查看当前驱动支持的最高 CUDA 版本。版本检查
1234567whereis cudacud ...