自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 KMP算法

【代码】KMP算法。

2025-10-17 15:08:43 115

原创 Transformer

Q的第i个行向量与K的第j个行向量作点积,得到一个标量,再进行softmax,意味着第i个token对第j个token发起query并得到key后的注意力得分(probability),除以是为了控制点积的大小,避免其落到softmax梯度较小的地方导致梯度消失。

2025-09-09 13:03:58 329

原创 DA-WSOL

仅在image-level上进行分类训练,得到一个网络可以在图片上进行带标签的object localization。

2025-09-08 22:31:17 708

原创 TSN train部分

和train过程几乎一致,只需要加上with torch.no_grad(): 和设置为eval() 来禁止梯度更新。然后在每个epoch开始时,先调整optimizer的params里面各个参数对应的lr。num_workers:创建多个子进程加载数据,经验设置为min(8, CPU核心数)这里args.gpus = [0,1,2,3,4,5,6,7],共8个GPU。pin_memory:锁页内存, CPU到GPU的数据传输速度更快。迭代返回bool, frame,即是否读取成功和当前读取帧。

2025-08-23 12:42:02 195

原创 TSN models部分

将segment数据重塑成(N*segment,sample_length,H,W)后输入到base_model,得到(N*segment,feature_dim),之后全连接分类为(N*segment, num_class),reshape成(N,segment,num_class),然后通过consensus统计segment投票,得到(N,num_class)这里既需要设置.eval(),来禁止统计量的更新,又需要设置requires_grad = False,来禁止梯度计算。

2025-08-23 11:55:09 270

原创 建模TSN笔记,dataset部分

我们通常继承torch.utils.data.Dataset,来创建一个自定义的Dataset类,在这个类,我们要实现最重要的3个内置函数,__init__(...), __getitem__(self, index), __len(self)当我们采用的architecture为BNInception时,把RBG通道顺序改为BGR,这是由于OpenCV训练BNInception时使用BGR格式导致的,为了迁移它的权重,所以我们也使用BGR。传入选项,可以将图像转置成想要的位置,如传入。

2025-08-23 10:28:30 353

原创 CS231n2017 Assignment3 PyTorch部分

其次,discriminator的loss恒高,而generator的loss下降,这并不是一件好事,因为这表明discriminator训练失败,无法有效区分真假图像,从而导致generator无法进一步学习,导致模式崩塌。不能,因为saliency_map用的是channel维度上的最大值(取绝对值之后的),其丢失了channel维度信息以及梯度方向信息。则对于discriminator,其loss由两部分组成,分别是希望将真样本分到1产生的loss,和将假样本分到0产生的loss。

2025-08-08 14:38:45 808

原创 CS231n2017 Lecture16 对抗样本与对抗训练笔记

指深度学习模型,对输入数据中极其微小、人眼难以察觉的特定扰动高度敏感的特性,这种扰动被称为对抗性扰动。

2025-08-08 11:18:49 294

原创 CS231n2017 Lecture14 强化学习笔记

强化学习包含2个可以进行交互的对象:智能体(Agent)和环境(Environment)

2025-08-07 19:54:52 747

原创 CS231n2017 Assignment3 RNN、LSTM部分

rnn的一个时间步内的前向传播,这里采用的是Vanilla RNN的更新公式。

2025-08-07 15:45:48 953

原创 CS231n2017 Lecture13 生成模型笔记

训练的数据没有对应的标签,我们要使用模型学习数据中隐含的共同特征。

2025-08-06 17:18:33 933

原创 CS231n-2017 Lecture12 视觉模型可视化与可解释性笔记

原理:卷积是卷积核与图像区域作点积的结果,当图像的区域和卷积核相似时,卷积结果就会最大化,因此通过对卷积核可视化,可以看到卷积层在图像上匹配寻找的目标。

2025-08-05 16:12:15 666

原创 CS231n Lecture11 目标检测和图像分割笔记

在图像分割问题中,我们需要将图像分割成多个部分分别进行识别,但是在普通的CNN网络中,进行了若干的conv和pooling后,特征图的size会变得很小,导致图像分割无法进行,或者无法进行地很精细,这个时候就需要使用上采样方法,将特征图的size扩大。

2025-08-05 14:35:41 798

原创 CS231n 2017 Assignment2 layers.py以及FullyConnectedNet部分

batch normalize的前向传播,分为train和test阶段两种模式,train的时候mean和var就采用batch里的,然后加权累积平均running_mean和running_var,在test的时候直接使用train阶段累积的running_mean和running_var。max pool的反向传播,这里cache有原本的输入x,那么我们就不在前向传播计算掩码矩阵了,直接在反向传播这里用x计算保留梯度的index,out中的元素只会来源于唯一的x,所以这里不用累加。

2025-08-03 15:39:48 882

原创 CS231n2017 Lecture10 RNN笔记

循环神经网络(Recurrent Neural Networks),可以实现不同类型的输入/输出如:1 to 1:固定输入得到固定输出1 to many: 比如输入固定size的图片,输出的是可变长度的序列,比如一段描述文本,长度随着单词数而变many to 1: 比如输入一段可变长度的文本,输出其情感分类向量many to many: 比如翻译任务。

2025-08-02 01:34:13 798

原创 CS231n2017-Lecture9经典CNN架构笔记

首先回顾一下LeNet-5,该网络结构为[CONV-POOL-CONV-POOL-FC-FC],卷积层使用的的卷积核,步长为1,;池化层使用的size,步长为2。

2025-08-01 21:08:58 932

原创 CS231n-2017 Lecture8深度学习框架笔记

定义上文的整个模块为单个模块# 初始化两个子模块,都是线性层# 使用子模块定义前向传播,不需要定义反向传播,autograd会自动处理# 构建模型与训练和之前类似。

2025-08-01 10:59:05 612

原创 CS231n-2017 Assignment1

这里要求我们完成一个KNN分类器,实现对图片使用KNN算法进行分类标签。

2025-07-27 16:02:08 340

原创 CS231n-2017 Lecture7训练神经网络(二)笔记

本节主要是神经网络的动态部分,也就是神经网络学习参数和搜索最优超参数的过程。

2025-07-26 10:17:35 742

原创 CS231n-2017 Lecture6训练神经网络(一)笔记

本节主要讲的是模型训练时的算法设计。

2025-07-24 09:52:58 540

原创 CS231n-2017 Lecture5卷积神经网络笔记

卷积神经网络与常规神经网络相似,都由神经元层连接而成,区别在于CNN基于输入数据为图像的假设,从而使结构发生了相应地变化。

2025-07-22 16:30:21 941

原创 CS231n-2017 Lecture4神经网络笔记

我们之前的线性分类器可以接受输入,进而给出评分,这是一种线性变换,再此基础上,我们对这种线性变换结果进行非线性变换,并输入到下一层线性分类器中,这个过程就像是人类大脑神经的运作一样,神经元接受信号,并输出神经递质给下一个神经元,表示是兴奋(正权重)/抑制(负权重)

2025-07-21 14:26:42 812

原创 CS231n-2017 Lecture4反向传播笔记

我们先正向传播计算出各个门输入及其局部梯度信息,这些门会组成一棵树,最后的输出门就是根节点,我们对根节点进行dfs,递归其每一棵子树,并利用上文的链式法则梯度计算方法递归,即可算出关于所有叶子结点(即原始变量输入)的梯度。

2025-07-21 11:47:50 392

原创 CS231n-2017 Lecture3线性分类器、最优化笔记

上节讲到,图片可以被展开成一个向量,对于这个向量,假设它有D维,那么它就是D维空间的一个点,又假设我们的标签集合总共有K种,我们可以定义一个K维标签得分向量,每一个维度对应着其相应标签的得分。那么我们就可以想办法建立一个线性映射,将一个图片向量映射成一个标签向量,将其中得分最高的维度所对应的标签作为这张图片的标签,这就是线性分类器的本质即:设训练集有N个元素,其中, 每个有其对应的标签向量。

2025-07-19 23:48:51 587

原创 CS231n-2017 Lecture2图像分类笔记

在已有固定的分类标签集合的前提下,能够对输入的图像进行识别处理,从集合中找到该图像所对应的标签。对于计算机而言,图像并非直观的图像,而是一个的像素集合,对于每个像素,其又有RBG三个颜色通道。因此,一张图片可以被认为是一个的三维数组,数组内每个元素都是在范围内的整型。而计算机图像分类的任务,就是将这样的一个三维数组映射到其对应的标签上。

2025-07-19 22:52:53 879

原创 C++ lambda函数

捕捉所有父作用域的变量的引用(除了捕获列表内显式指定过的),包括this指针,即相当于[&var1, &var2...],把所有var都打进去。捕捉所有父作用域的变量值(除了捕获列表内显式指定过的),包括this指针,即相当于[var1,var2...],把所有var都打进去。当加上时,lambda函数的operator()取消其const属性,此时函数体内可修改按值捕获的变量的值。参数列表,和正常函数的参数列表一样,指定lambda函数的operator()所接受的参数个数及其类型。

2025-06-15 17:02:08 281

原创 c++ algorithm常用算法汇总

对[first,last)的每个元素执行f,f可能会修改该元素f可传入函数或者仿函数1 4 9 16。

2025-06-15 14:27:04 1085

原创 C++ STL容器汇总

注:为期末考试作复习准备。

2025-06-12 16:26:21 1063

原创 23树与左倾红黑树

1.树的一个结点可以容纳2个元素,记为first,second2.树的一个节点可以有3个儿子,记为left,middle,right3.left的所有元素<first,first<middle的所有元素<second,second<right的所有元素。

2025-06-04 11:07:38 1186

原创 21-CS61B-lab6:java文件操作以及持久化一见

这里的文件操作主要通过File类,Serializable的派生类等实现。

2025-06-02 17:18:26 489

原创 git入门笔记

仅作个人学习用途,文章逻辑很乱。

2025-05-24 10:53:46 923 1

原创 C++中的各式类型转换

函数参数列表接受类类型变量,传入的单个参数不是类对象,但可以通过这个参数调用类对应的构造函数,那么编译器就会将其隐式转换为类对象class A{private:int a;//隐式将int转换为A对象A obj = 1;//同上return 0;

2025-05-13 23:04:59 892

原创 C++虚函数食用笔记

多态的根本原理是不同类的__vtpr指向的vtable不同,从而在运行时索引的时候找到不同的函数并运行。

2025-05-13 11:13:22 926

原创 C++类继承学习笔记

优先按顺序构造虚基类,再顺序构造非虚基类。

2025-05-08 12:50:24 205

原创 各种莫队算法

莫队算法,是一种以分块为基础的维护区间[1,n]的离线算法,主打一个优雅的暴力应用场景:对于q个询问,每次询问区间[l,r]算法核心:我们将区间[1,n]按每块长度为进行分块,则block[i]表示下标为i的元素所在的块的编号。我们对q个询问以block[l]作为第一关键字,r作为第二关键字由小到大排序,然后再逐一处理询问。

2024-09-30 22:11:19 1234

原创 上下界网络流

我们知道,仅有上界的网络流,可以通过bfs寻找增广路进行扩流从而找到最大流。但如果给每条边的流量加一个下界,我们应该怎么办呢?设边w的流量上界为sup,下界为inf一个思路是先把每条边下界需要流的inf流量流满,然后再给出sup-inf的边,代表可流可不流,这样,就可以在保证取到流量下界的同时不超出流量上界。那么我们具体该怎么实现呢?

2024-09-30 21:24:26 918

原创 网络流最大流,费用流

网络流,指的是在一个每条边都有容量的有向图分配流,使得一条边的流量不会超过他的容量有向图称为网络,顶点称为结点,边称为弧源点:只出不进的顶点汇点:只进不出的顶点容量和流量:每条有向边上有两个两,容量和流量。

2024-09-08 11:21:11 1151

原创 轮廓线dp、插头dp

轮廓线:对于一个n*m棋盘上的决策,当我们考虑到(i,j)这个格子时,第i行前j-1个格子的下边以及第j个格子的左边以及第j到第m-1-j个格子的上边所组成的一条线,我们称之为轮廓线轮廓线dp:当我们在棋盘第(i,j)格子上放置棋子时,我们的决策受到且仅受到(i,j)格子左边以及上边的状态的影响,我们这个时候就可以 采取轮廓线dp的方法来解决题目大意:给出n*m的棋盘,其中为1的格子必须铺线,为0的格子禁止铺线,棋盘上可形成多条回路,求所有合法方案数。

2024-09-08 10:19:43 1221

原创 R数据科学练习题部分解答,持续更新

本文章作为《R数据科学》书籍练习题解答合集使用。推荐搭配Ctrl + F搜索使用。

2024-08-28 18:34:42 1210

原创 树上dp之换根dp

换根dp是树上dp的一种我们在什么时候需要用到换根dp呢?当题目询问的属性,是需要当前结点为根时的属性,这个时候,我们就要使用换根dp换根dp的基本思路:假设题目询问的的属性为x通常我们会进行两次dfs第一次dfs,我们选取任意一个结点作为给出的无根树的根,对其进行dfs,并求出这个根的x,以及一些其他辅助数组(即节点与其子树的一些属性关系)第二次dfs,我们记dp[i]为对于结点i而言,节点i作为树的根时,我们要求的属性x。

2024-08-13 22:46:07 1310

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除