自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 省赛集训(四)目录

题解 Stat # Origin Title C++ 11 / 13 A CodeForces 937A Olympiad C++ 0 / 26 B CodeForces 936A Save Energy! C++ 7 / 7 C POJ 2255 Tree Recovery ...

2019-04-30 18:21:55 171

原创 代码使用手册(自用)

生成相应的视频数据集路径与label值(0:real,1:fake)下载好需要的数据集,按照如下方式进行组织。作为我们训练的最优模型。作为我们训练的最优模型。下载好需要的数据集。

2023-06-02 11:37:19 949

原创 leetcode1302. 层数最深叶子节点的和

leetcode

2022-08-30 16:59:53 163

转载 BN和LN的区别

BN针对一个batch_size中同一维度的样本在做处理。比如上图,有x1,x2,…,xR个样本,这些样本的第一个维度描述的是体重,第二个维度描述的身高,BN在所有样本的的每一个特征(比如体重维度、身高维度)上进行归一化,BN的优点:第一个优点可以解决内部协变量偏移,第二个优点就是缓解了梯度饱和问题(如果使用sigmoid函数的话),加快收敛。BN的缺点:第一个缺点batch_size较小的时候,效果很差,因为BN就是用batch_size中样本的均值和方差去模拟全部样本的均值和方差,这个假设在

2022-04-25 20:42:18 1830

转载 [转载自用]Batch Normalization详解以及pytorch实验

https://blog.csdn.net/qq_37541097/article/details/104434557

2021-12-16 15:56:38 194

原创 pytorch查看模型某一层的参数以及参数初始化

查看模型特定层的参数对于nn.Sequencial模块除了可以通过下面这种方法访问模型中特定层的参数外, 还可以以索引的形式访问某一层特定层import torchimport torch.nn as nnnet = nn.Sequential(nn.Linear(1024, 512), nn.ReLU(), nn.Linear(512, 256), nn.ReLU(), nn.Linear(256, 2))for name, param in net.named_parameters()

2021-12-16 14:45:27 4900 1

转载 Pytorch中的Tensor常用的类型转换函数

Pytorch中的Tensor常用的类型转换函数(inplace操作):(1)数据类型转换在Tensor后加 .long(), .int(), .float(), .double()等即可,也可以用.to()函数进行转换,所有的Tensor类型可参考https://pytorch.org/docs/stable/tensors.html(2)数据存储位置转换CPU张量 ----> GPU张量,使用data.cuda()GPU张量 ----> CPU张量,使用data.cpu()(3

2021-03-07 11:22:55 1148

原创 史上最全的支持向量机(SVM)公式推倒

支持向量机支持向量机(SVM)一、SVM最初是为了解决什么问题二、SVM分类三、基本理论支持向量机(SVM)一、SVM最初是为了解决什么问题在深度学习之前,提出SVM是为了解决二分类问题。二、SVM分类hard-margin SVMsoft-margin SVMkernel SVM三、基本理论对于hard-marigin SVM,我们要找到一个超平面,使得与该超平面最近的点到此超平米的距离最大。因为如果距离很近的话会使得模型的鲁棒性很差,稍微有一点点噪声就可能使得SVM分类错误。如下

2021-03-04 19:48:03 911 5

转载 卷积神经网络中感受野的计算

https://zhuanlan.zhihu.com/p/72924825

2021-02-06 08:56:35 96

转载 pytorch动手实现——K近邻算法

简介k近邻(knn)算法算是比较简单的机器学习算法,它属于惰性算法,无需训练,但是每次预测都需要遍历数据集,所以时间复杂度很高。KNN模型的三个基本要素:K值得选择,K值越小,近似误差越小,估计误差越大,相当于过拟合。举个例子,如果k=1,那么类别就会跟他最近的点一个类别。 距离度量:距离反映了特征空间中两个实例的相似程度。可以采用欧氏距离、曼哈顿距离。 分类决策规则:往往采用多数表决。pytorch实现——Mnist数据集验证笔者采用了两种方法来实现欧式距离计算,一直是迭代每个测试样例

2021-01-25 14:30:03 1068

转载 矩阵之间欧式距离的快捷计算方法(无循环)

一、理论分析 首先从理论上介绍 一下,矩阵之间欧氏距离的快速计算,参考了@frankzd的博客,原文链接在https://blog.csdn.net/frankzd/article/details/80251042二、代码分析 接下来上代码,我会在每一行进行必要的注释(来源:https://github.com/michuanhaohao/reid-strong-baseline/blob/master/layers/triplet_lo...

2021-01-15 11:13:45 1904

转载 matplotlib 中的subplot的用法

一个figure对象包含了多个子图,可以使用subplot()函数来绘制子图:  (首先我没有想明白为啥会有这么多的内容来介绍这一个函数,后来知道了原来这个函数还真的挺多的内容)   言简意赅:   首先,它的调用是这样子的:subplot(numbRow , numbCol ,plotNum ) or subplot(numbRow numbCol plotNum),对。看清楚,可以不用逗号分开直接写在一起也是对的;   解释一下这是啥玩意:   numbRow是plot图的行数;n.

2020-12-16 11:23:38 977

原创 pytorch中数据预处理基本操作

import torchfrom torchvision.utils import save_imagefrom torchvision.datasets import ImageFolderfrom torchvision import transformsfrom torch.utils.data import DataLoaderimport numpyimport osimg_path = './hh/'out_path = './0_real_train/'os.makedir.

2020-11-09 18:50:20 404

转载 Python rstrip()方法

https://www.runoob.com/python/att-string-rstrip.html

2020-11-04 16:29:09 285 1

转载 Python中的zip函数

https://www.runoob.com/python/python-func-zip.html

2020-11-04 16:20:26 81

转载 conda/pip两种快速安装Tensorflow-gpu的方式

主要讲一下在Linux下安装tensorflow gpu版的两种方式:使用conda和pip安装。安装cpu版本比较简单,安装命令相同,但是省去了安装cuda和cudnn。注意: 在安装tensorflow gpu版本前,首先要清楚不同版本tensorflow对应不同的cuda,cudnn版本,而不同的cuda版本对显卡驱动版本又有要求。这几个版本不符合要求是无法使用gpu版本的tensorflow,下面给出了官网说明。tensorflow-gpu各版本与cuda,cudnn匹配查询:https://

2020-11-03 19:07:32 1683

转载 最优化局部极小点的条件

回忆一下关于元实值函数的的求导问题,函数的一阶导数为 函数的梯度正好是导数的转置,即;函数的二阶导数,也称为hessian矩阵,可表示为: 对于向量,和约束集中的某个点,如果存在一个实数使得对于所有,仍然在约束集内,即,则称为处的可行方向!为元实值函数...

2020-10-21 11:49:46 3561

转载 梯度消失和梯度爆炸原因及其解决方案

当我们需要解决一个非常复杂的问题,例如在高分辨率图像中检测数百种类型的对象,我们可能需要训练一个非常深的DNN,可能需要几十层或者上百层,每层包含数百个神经元,通过成千上万个连接进行连接,我们会遇到以下问题:首先,梯度消失或梯度爆炸其次,训练缓慢第三,训练参数大于训练集的风险梯度消失的原因:生物神经元似乎是用 Sigmoid(S 型)激活函数活动的,因此研究人员在很长一段时间内坚持 Sigmoid 函数。但事实证明,Relu 激活函数通常在 ANN 工作得更好。这是生物研究误导的例子之一

2020-10-11 17:02:03 445 1

转载 滤波器等于卷积核吗?

滤波器:卷积核的集合这两个术语之间有着本质的区别:仅在 1 通道的情况下,滤波器和内核这两个术语等价,在一般情况下,它们是不同的。每个过滤器实际上是卷积核的集合,图层的每个输入通道都有一个卷积核,并且是唯一的。卷积层中的每个滤波器都只输出一个通道,他们是这样实现的:滤波器的每个卷积核在各自的输入通道上「滑动」,产生各自的计算结果。一些内核可能比其他内核具有更大的权重,以便比某些内核更强调某些输入通道(例如,滤波器的红色通道卷积核可能比其他通道的卷积核有更大的权重,因此,对红色通道特征的反应要强于

2020-09-28 18:56:57 5449

原创 CNN中maxpooling的作用

首先介绍一下什么是maxpooling层:这样对应于每个红框内的数字都取max,这种操作即为maxpooling。(如果框中取平均值的话则为average pooling)maxpooling层的作用: invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度) 保留主要的特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型泛化能力(1) translation invariance:这里举一个直.

2020-09-28 18:43:43 1742

转载 img.resize()函数的作用和用法-单张图像变换大小

这个是一段学过的简单程序,可以改变图像的大小,jpg,png都可以的:#encoding=utf-8#author: walker#date: 2014-05-15#function: 更改图片尺寸大小 from PIL import Image'''filein: 输入图片fileout: 输出图片width: 输出图片宽度height:输出图片高度type:输出图片类型(png, gif, jpeg...)'''def ResizeImage(filein, fileou

2020-08-25 09:41:45 5755 1

转载 python中with的用法

with是从Python2.5引入的一个新的语法,它是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try….except….finlally的处理流程。with通过__enter__方法初始化,然后在__exit__中做善后以及处理异常。所以使用with处理的对象必须有__enter__()和__exit__()这两个方法。其中__enter__()方法在语句体(with语句包裹起来的代码块)执行之前进入运行,_

2020-08-16 11:21:48 140

原创 pytorch中模型参数初始化方法

法一:1、自定义初始化函数def weights_init(m): classname = m.__class__.__name__ if classname.find('Conv') != -1: nn.init.normal_(m.weight.data, 0.0, 0.02) elif classname.find('BatchNorm') != -1: nn.init.normal_(m.weight.data, 1.0, 0.02)

2020-07-15 09:49:04 4137 7

转载 pip修改清华源

最近安装python库是真心累,没有啥是不超时的,下着下着就崩了,心态崩了呀!后面果断换成清华源,速度飞起!!!这里需要注意的是,如果要将清华源设置成默认,那么需要将pip升级(>10.0.0),然后再进行配置:升级pippip install pip -U # 如果升级都升级不了,那么直接使用清华源来升级pip:# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U配置默认镜像站 pip confi.

2020-07-09 18:54:22 252

转载 KL-divergence

看论文1的时候遇到的,该论文首先得出了衡量两个概率分布之间的距离的公式,目标函数是使这两个概率之间的距离d( · , · )尽可能小,但是由于比较难算,因此用计算KL-divergence代替d( · , · ),一时不知这是什么,因此上网查了KL-divergence,胡乱总结2如下KL-divergence又叫相对熵(relative entropy),衡量两个概率分布之间的不同程度。作用在于(不大清楚):Characterizing the relative (Shannon) entropy

2020-07-08 18:39:57 233

原创 一图搞懂正则化(Normalization)

经常看到transform.ToTensor(),transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))那transform.Normalize()是怎么工作的呢?以上面代码为例,ToTensor()能够把灰度范围从0-255变换到0-1之间,而后面的transform.Normalize()则把0-1变换到(-1,1).具体地说,对每个通道而言,Normalize执行以下操作:image=(image-mean)/std其中mean和std.

2020-06-26 17:18:51 1844

原创 如何快速求出单链表的中间结点

思路:利用快慢指针算法,设置一个快指针(步长为2),设置一个慢指针(步长为1),从头结点开始依次向后遍历,当快指针到达链表结尾的时候,慢指针就指向了链表的中间。

2020-05-20 15:23:47 288

原创 数据结构之双链表

数组模拟法双链表同样可以用数组模拟, 只不过由于双链表比单链表多了一个指向前驱的指针,所以按照单链表中的单纯的一个ne[i]不足以表达整个链表的情况, 所以我们再引入一个l[i]数组用来表示i结点的前驱指针指向的结点下标,这里为了方便将ne[i]数组更名为r[i]。 notes:特别注意一点是我们用0结点来代替单链表中的头指针,1结点放在链表维度用来表示尾指针(好处是可以以o(1)的时间复杂...

2020-04-18 17:56:53 143

原创 数据结构之单链表

数组模拟链表e[i]表示结点的值, ne[i]表示结点的next指针指向的结点下标,idx用来记录结点实际分配的地址(物理地址)下标。(实际上,这种用数组模拟链表的方法就是数据结构中学的静态链表法)具体代码:// head存储链表头,e[]存储节点的值,ne[]存储节点的next指针,idx表示当前用到了哪个节点int head, e[N], ne[N], idx;// 初始化...

2020-04-18 17:49:35 140

转载 数据链路层和运输层的差错检测的区别

数据链路层的差错检测在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接受。  产生差错的帧会被丢弃,然而过去OSI的观点是:必须让数据链路层向上提供“可靠”传输,所以在CRC检测基础上,增加了帧编号、确认和重传机制。收到正确的帧就要向发送端发送确认。发送端在一定的期限内若没有收到对方的确认,就认为出现了差错,因为就进行重传,直到收到对方的确认为止。但现在的通信线路的质...

2020-04-16 09:19:35 1475

转载 《零基础入门深度学习》

文章列表零基础入门深度学习(1) - 感知器零基础入门深度学习(2) - 线性单元和梯度下降零基础入门深度学习(3) - 神经网络和反向传播算法零基础入门深度学习(4) - 卷积神经网络零基础入门深度学习(5) - 循环神经网络零基础入门深度学习(6) - 长短时记忆网络(LSTM)零基础入门深度学习(7) - 递归神经网络...

2020-04-12 09:18:36 171

原创 你真的会二分搜索吗

二分问题的思考步骤:写一个check函数 判断check(mid)函数为true时mid落到了左半边还是右半边 更新区间比如图中如果找10的左区间,那么mid应该落在右半边,不断向左更新,直到找到左边界bool check_r(int mid, int x){ if(a[mid]>=x) return true; return false;}对应的...

2020-04-04 16:40:54 145

原创 pytorch张量合并与切分

一、张量合并1、cat:合并bg:有一个学校每个班级有32名学生,每个班的学生都有8门课程[3,32,8]表示1到3班里同学8门课的成绩情况[5,32,8]表示4到8班里同学8门课的成绩情况那么如果我们想把这8个班的同学成绩情况统计为一张表怎么办呢? 这里我们就用到了cat()a = torch.rand(3, 32, 8)#b:5个班里32名同学8们课的成绩b = ...

2020-03-27 22:35:20 2679

原创 pytorch中的广播机制(broadcasting)到底是什么

广播机制牢记一点就可以了:从末尾开始连续找第一个不想同的维度容量开始扩充,直到扩充成维度相同。例:图中的第二行:[4, 3]+[1, 3] 末尾3相等, 前移一位, 4 !=1 则把1扩充为 4 结束。图中的第三行:[4, 1]+[1, 3] 末尾 1!=3 将1扩充为3, 迁移一位, 4!=1 把1扩充为4 结束。...

2020-03-27 22:14:39 1359 3

原创 pytorch中张量的维度变换

1、view与reshape用于实现两个tensor之间的维度变换example:将4*1*28*28的tensor变换为4*(28*28)的tensora = torch.rand(4, 1, 28, 28)print(a.shape)b = a.view(4, 28*28)print(b.shape)2、unsequeeze:维度扩充, sequeeze:维度删减...

2020-03-27 22:07:14 1061

原创 创建pytorch张量

numpy->torch注:tensor()参数为具体的数据, Tensor() 和 FloatTensor()参数可以为数据也可以为维度信息,但是一般不用他来放数据a = np.array([2., 3])b = torch.from_numpy(a)print(b)###################################a = np.ones([2...

2020-03-27 09:27:39 2494

原创 python中csv文件的读写操作

1、按照下标读取def use_index_reader(): filepath = 'test.csv' with open(filepath,'r') as fp: reader = csv.reader(fp) for x in reader: print(x)2、按照key值读取def use_d...

2020-03-20 19:37:06 244

转载 数据链路层中MAC子层和LLC子层的功能分析

1.何为数据链路层的(DATA LINK LAYER)的MAC子层和LLC子层? MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性;在MAC子层的诸多功能中,非常重要的一项功能是仲裁介质的使用权,即规定站点何时可以使用通信介质。实际上,局域网技术中是采用具有冲突检测的载波侦...

2020-03-12 09:46:36 3875

原创 河北省省赛重现赛-K Multiple Longest Commom Subsequence

2017: K Multiple Longest Commom Subsequence描述题目描述:KK has two sequences, AAA and BBB, and wants to find the kkk multiple longest common subsequence.A sequence SSS is a kkk multiple common subsequ...

2019-05-02 19:46:31 365 1

转载 模运算的运算规则

转载链接: http://www.hankcs.com/program/cpp/poj-1995-raising-modulo-numbers.html运算规则模运算与基本四则运算有些相似,但是除法例外。其规则如下:(a + b) % p = (a % p + b % p) % p (1)(a – b) % p = (a % p – b % p) % p (2)(a * b)...

2019-05-01 17:36:14 14294 4

空空如也

空空如也

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

TA关注的人

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