avatar
文章
26
标签
10
分类
5

首页
文章
标签
分类
友链
关于
小白的博客
搜索
首页
文章
标签
分类
友链
关于

小白的博客

编译原理
发表于2025-06-14|我重生了,重生在考试前一天
概述编译的几个阶段C/C++编译的几个阶段是: 预处理:汇合源程序,展开宏定义,生成.i文件 编译:处理后的源文件到汇编代码文件 汇编:汇编代码文件到目标文件/机器指令文件 连接:连接库代码从而生成可执行(executable)文件 编译过程编译过程分为: 前端(分析):对源程序,识别语法结构信息,理解语义信息,反馈出错信息 词法分析 语法分析 语义分析 后端(综合):综合分析结果,生成语义上等价于源程序的目标程序 中间代码生成 代码优化 目标代码生成 词法分析针对token 语法分析针对语句 语义分析针对整个程序 中间代码生成也就是生成一个等价的、易于优化的中间表示 代码优化删掉不必要的代码 目标代码生成生成汇编 语言和文法基础语言和文法的直观概念程序设计语言包括:语法和语义 语法:是一组规则,用它可以形成和产生一个合适的程序 语义:定义程序的意义 文法:是语言语法的描述工具,实现用有穷的规则把语言的无穷句子集描述出来。比如<句子>=<主语><谓语>,可以用右端的符号串代替=的左端 符号和符号串字母表:字母表是元素 ...
s1:Simple test-time scaling为什么有效?
发表于2025-05-12|在文献里迷路的日子
前言这是我最近读到的两篇很有意思的论文:《s1: Simple test-time scaling》和《Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?》,里面的结论刷新了我之前的看法,恰好之前做了一次论文分享,就将分享的内容整理为文字,主要是结合后一篇论文谈谈我对前一篇论文的想法。 研究背景在OpenAI-o1出来之前,提升大模型的能力主要是在训练的时候加大计算量以及投入。o1的出现提示人们可以通过加大测试的时候的计算量得到更好的效果(test-time scaling)。 作者想要找到一个最简单的方法来实现测试时扩展和强大的推理性能。 研究过程o1对比普通模型最大的区别就是有一个思考过程,并且o1在回答问题的时候输出的时间更长,输出的token更多。 一般思考模型进行思考的时候<think>和</think>来包围思考过程,用<answer></answer>来包围答案,一是一般思考的过程集中 ...
目标检测论文阅读笔记(1)
发表于2025-04-28|在文献里迷路的日子
R-CNN 参考视频:【入门级目标检测发展概述及概念简介】 视觉定位+深度学习的经典论文。做法也是经典的2-Stage方法,先生成一系列的候选框,然后将候选框进行裁剪。之后将每个裁剪后图片通过CNN去预测类别,从而得到不同类别的检测框。 但主要问题是: 直接裁剪图像,再送到CNN开销比较大。论文中2k张图片,假设裁剪后的图片是1KB,那2k张都是将近2MB了。batch size更大的时候这样裁剪更低效。所以之后的Fast R-CNN等优化方法都在特征上进行裁剪。在图片上裁剪的少之又少了。 RP总会有重叠的,之后难以避免要用到NMS(非极大值抑制)来去掉冗余框,也就避免不了NMS的缺点:耗时长和对人物重合效果不好。 CNN的输出类别是固定的,所以类别是有限的,对新的类别又要重新训练。 RetinaNet 参考视频:【入门级目标检测发展概述及概念简介】 像论文中所说:当时在生成候选框(RP)阶段,很多2-Stage方法可以通过一些算法,迅速将候选物体位置的数量缩小到少数(例如,1-2k),过滤掉大多数背景样本。但是1-Stage方法就没法过滤,因为一阶段方法不生成RP,它必须 ...
目标检测入门
发表于2025-04-26|在文献里迷路的日子
基础概念目标 检测任务一般分为两步: 检测出预测框(回归) 将预测框中的物体分类(分类) 同时用到了回归和分类。比如在这张图中就需要框出人和猫两个检测框,然后再对检测框做分类 所以标签(ground_truth)需要检测框坐标(bbox)和类别标签。类别标签有一个集合,比如有80个类别,模型就只会在图像中检测出这80个类别。 一些概念Region proposals(RP) 中文叫做备选框。输入一张图像,可以得到很多候选框,每一个候选框可以看成一个被检测出来的目标,之后这些候选框就被拿去分类。就可以知道这个候选框对应的类别。就完成了目标检测的任务 IoUIoU的计算公式为两个框的交集除以并集 NMS(non-maximum suppression) 中文叫非极大值抑制。因为一个人可能有多个框都预测到这一个人,所以要用一种方法合并这些框,或者说叫过滤冗余框。 但NMS也有缺点,比如两个人重叠在一起了,就有可能被NMS过滤成同一个人。 分类1-Stage和2-Stage1-Stage的模型分为Anchor-based和Anchor-free的。Anchor-based相当于用预定 ...
从策略梯度到GRPO
发表于2025-04-24|在文献里迷路的日子
策略梯度 参考:B站视频 基础概念经验轨迹$τ$ 智能体可以感知到当前的环境状态,然后作出行为,会影响环境的状态并从环境中得到奖励。这里将状态表示为$s$,智能体的行为表示为$a$,智能体得到的奖励为$r$。 那么智能体与环境交互一次的经验轨迹为 $ \tau = s_0, a_0, r_1, s_1, \cdots, a_{T - 1}, r_T, s_T $,其中 $ T $ 为终止时刻。就是状态、智能体采取的动作、智能体得到的奖励、下一状态……的一个数列。 经验轨迹的概率 $ P_\theta(\tau) $经验轨迹出现的概率由环境和智能体两部分决定: \begin{align*} P_\theta(\tau) &= p(s_0) \cdot \pi_\theta(a_0 \mid s_0) \cdot p(s_1 \mid s_0, a_0) \cdot \pi_\theta(a_1 \mid s_1) \cdots \pi_\theta(a_{T - 1} \mid s_{T - 1}) \cdot p(s_T \mid s_{T - 1}, a_{T - 1}) \\ ...
解决DeepSpeed offload时找不到动态库的问题
发表于2025-04-21|程序猿的那些事
问题在DeepSpeed Offload时候需要编译并加载一个动态库,使得Adam优化器可以从GPU卸载到CPU。可以用以下方法测试编译是否成功: 12import deepspeeddeepspeed.ops.op_builder.CPUAdamBuilder().load() 我刚开始的时候遇到了报错,提示找不到其中的一个动态链接库: 1/home/xxx/miniconda3/envs/Visual-RFT/bin/../lib/gcc/x86_64 - conda - linux - gnu/11.2.0/../../../../x86_64 - conda - linux - gnu/bin/ld: cannot find - lcurand: No such file or directory 解决方案如果要编译动态库,需要用到CUDA Toolkit,而且要是官网下载的(Conda/Pytorch安装的CUDA Toolkit是不全的)。 所以需要: 下载安装CUDA Toolkit 设置环境变量让DeepSpeed可以找到(因为我是非ROOT用户安装的,我装在了~/C ...
用fast-reid提取人物特征
发表于2025-04-08|在文献里迷路的日子
前言最近要做人物的识别,有些图片没有正脸,所以要用到ReID相关的技术(有正脸就很好处理,用人脸检测现在有很多现成的库)。在网上找了一圈没找到很适合入门的教程,于是打算在这里写一下我是怎么用fast-reid库来做人物的特征向量的提取的。方便之后的人入坑。 现成的reid的库我就只找到了torchreid和fast-reid。前者我尝试了,但没跑起来,而且代码好久没维护了,fast-reid是京东近年来发布的,品质更有保障,所以就选了后者。 环境配置fast-reid并不像一些Python包可以直接用pip install fastreid安装,它的项目地址中并没有提到能用pip直接安装,所以装起来有点麻烦。 安装依赖首先先创建一个虚拟环境,.venv或者conda都可以。然后安装一些依赖(fast-reid需要用到,在项目的文档里也提到了): Pytorch ≥ 1.6 torchvision(装和Pytorch版本兼容的) yacs gdown sklearn termcolor tabulate faiss 前面七个每个都用pip install packet_nam ...
博客搬家记
发表于2025-04-01|手记
起因原先的博客运行在我的Windows笔记本上,因为平时不怎么用该笔记本,传输文件都用ToDesk,不是很方便。更重要的是,如果哪天它坏掉了,那我就得重新配置一次环境,还要重新配置一次Hexo。环境还是小事,Windows备份也麻烦,如果哪天磁盘坏了,写过的博客就整个不见了。 总之,想着不能让我的博客绑定在这个Windows笔记本上。痛定思痛😭,决定将其整个环境搬迁到Docker当中。 迁移过程服务器的选择因为: 需要配置Docker以及Node.js环境,我不想在自己笔记本上装太多东西。 需要让女友也能将博客上传。 所以我选择将Hexo博客运行在一个服务器上。搜索了一圈,发现阿里云天工开物计划可以白嫖服务器。配置还不错: 2核CPU 2G内存 50G硬盘 每月20G免费流量 自带公网IP 最重要的是免费,还是包年的。于是我打算把Hexo部署在上面。 领取的方法可见《如何白嫖阿里云服务器?》 打包Hexo博客迁移的第一步就是把原先的博客整个打包,我把整个Hexo博客都存在了一个Blog文件夹下,所以只需要把这个文件夹压缩就好了。 除了写的博客以外,另一个需要迁移的就是Hexo ...
图论
发表于2024-09-19|我重生了,重生在考试前一天
图论基础图论基础概念 有限图:顶点数和边数有限的图称为有限图。 平凡图:只有一个顶点的图。 零图:一个没有边的图被称为零图。 n阶图:顶点数为n的图。 $(n,m)$图:顶点数为 𝑛 的图,边数为 𝑚 的图 边的重数:连接两个相同顶点的边的条数 环 :端点重合为一点的边 简单图:无环无重边的图;其余的图称为复合图 顶点 𝑢 与 𝑣 相邻接 顶点 𝑢 与 𝑣 间有边相连接 𝑢 与 𝑣 称为边的两个端点 通常规定一个顶点与自身是邻接的 顶点 𝑢 与边 𝑒 相关联:顶点 𝑢 是边 𝑒 的端点 边 $e_1$与边 $e_2$相邻接:边 $e_1$ 与边 $e_2$​​ 有公共端点 途径:有限非空序列 $ w = v_0e_1v_1e_2v_2 \ldots e_kv_k $,$ e_i $ 端点 $ v_{i-1}, v_i $。途径长度为边数;$ v_0, v_k $ 分别为起点终点。 迹:边不重复的途径。 路:顶点不重复的途径。 闭途径、闭迹与圈:起点终点重合的途径、迹、路。闭迹也称为回路。长度为 $ k $ 的圈称为$k$圈,$ ...
信号与系统
发表于2024-09-19|我重生了,重生在考试前一天
复数基础基础概念复数表示形式复数的标准形式为$a+bi$ 指数表示复数可以用指数形式表示,形式为: z = re^{i\theta}三角形式复数的三角形式是: z = r(\cos \theta + i\sin \theta)辅角和模$r$ 是复数的模(实数),$\theta$ 是复数的辐角(主值通常在 $[-\pi, \pi]$ 或 $[0, 2\pi]$ 范围内) 复数的模定义为: r = |z| = \sqrt{a^2 + b^2}相位若$z=a+bi$,相位的定义为$arctan(\frac b a)$。 共轭复数的共轭定义为: z^* = a - bi其中,$z = a + bi$ 是复数的标准形式。共轭运算具有以下性质: $z \cdot z^* = |z|^2$ $(z_1 \cdot z_2)^ = z_1^ \cdot z_2^*$ $(z^)^ = z$ $z+z^*=2Re\{z\}$ (Real) $z-z^*=2Im\{z\}i$​​ (Imaginary) 这里$Im\{z\}$是不包含$i$的 欧拉公式 e^{ix} = \c ...
123
avatar
白
文章
26
标签
10
分类
5
Follow Me
公告
愿我们在清醒的现实再会
最新文章
编译原理2025-06-14
s1:Simple test-time scaling为什么有效?2025-05-12
目标检测论文阅读笔记(1)2025-04-28
目标检测入门2025-04-26
从策略梯度到GRPO2025-04-24
分类
  • 在文献里迷路的日子6
  • 学海泛舟5
  • 我重生了,重生在考试前一天4
  • 手记1
  • 程序猿的那些事9
标签
hexo Deep Learning 课程笔记 Python 目标检测 计算机图形学 强化学习 linux 环境配置 C++
归档
  • 六月 20251
  • 五月 20251
  • 四月 20256
  • 九月 20245
  • 八月 20241
  • 六月 20242
  • 五月 20248
  • 四月 20242
网站资讯
文章数目 :
26
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By 白
框架 Hexo|主题 Butterfly
搜索
数据库加载中