自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Batch Normalization的优势

总的来说,BN通过将每一层网络的输入进行normalization,保证输入分布的均值与方差固定在一定范围内,减少了网络中的Internal Covariate Shift问题,并在一定程度上缓解了梯度消失,加速了模型收敛;并且BN使得网络对参数、激活函数更加具有鲁棒性,降低了神经网络模型训练和调参的复杂度;最后BN训练过程中由于使用mini-batch的mean/variance作为总体样本统计量估计,引入了随机噪声,在一定程度上对模型起到了正则化的效果。

2022-09-07 15:28:00 729 1

原创 深度学习正则化

深度学习正则化,BN

2022-08-18 17:20:02 374

原创 手写BN和Conv层融合

手写BN和Conv层融合

2022-07-12 11:31:11 265

转载 detach()与detach_()

accumulation_steps

2022-07-11 11:16:12 498

原创 Loss.backward()

loss.backward() retain_graph=True

2022-07-11 11:04:11 10045 2

原创 pytorch Variable学习

Variable为何物?Variable是对Tensor的一个封装,具有三个属性,Variable的Tensor本身的.data,对应Tensor的梯度.grad,以及这个Variable是通过什么方式得到的.grad_fn(例如加减乘除,卷积等操作)#将tensor转换成Variablevariable = Variable(tensor) #Varibale 默认时不要求梯度的,如果要求梯度,需要说明variable = Variable(tensor,requires_grad=True

2021-05-07 14:33:36 166

原创 跳坑 gnutls_handshake() failed: The TLS connection was non-properly terminated.

今天git clone 的时候突然遇到 gnutls_handshake() failed: The TLS connection was non-properly terminated. 这个问题,然后百度。结果就百度到了全都是复制粘贴,我都不知道他们是否验证了,就贴出来,我就按着做了,结果再git clone 就成Failed to connect to 127.0.0.1 port 7890: Connection refused然后就又百度 然后就百度到了https://blog..

2021-03-17 10:56:06 58831 51

原创 背景差分createBackgroundSubtractorMOG2()

该方法可以用来做运动检测,用法:Ptr<BackgroundSubtractorMOG2> mog = createBackgroundSubtractorMOG2(100,25,false);history:用于训练背景的帧数,默认帧数为500帧,如果不动手设置learingRate,history就被用于计算当前的learningRate, 此时history越大,learningRate越小,背景更新越慢; varThreshold:方差阈值,用于判断当前像素是前景还是背景。一般

2021-03-05 16:03:28 4694

原创 opencv 膨胀和腐蚀操作,开运算 ,闭运算,高帽,黑帽

定义:形象的话就是“增肥”与“减肥”。作用:(1)膨胀处理缺陷问题,就是把缺陷给填补了。(2)腐蚀用来处理毛刺问题,把毛刺给腐蚀掉。kernel = np.ones((3,3),dtype=np.uint8)总结:指定全为1的3*3矩阵,为卷积核,该像素点的值为重点的3*3范围内的最大的值。由于我们是二值图像,所以只要包含周围白的部分,就变为白色。(只要原图片3*3范围内有白的,该像素点就是白的。dilate = cv2.dilate(img,kernel,1) # 1 为迭代次数,也就是执

2021-01-09 20:18:45 401

原创 End-to-End Estimation of Multi-Person 3D Poses from Multiple Cameras

VoxelPose(1)softmax实际上并不是max函数的smooth版,而是one-hot向量(最大值为1,其他为0)的smooth版。(softmax的输出是个向量,而max函数的输出是一个数值,不可能直接用softmax来取代max)max函数真正的smooth版本是LogSumExp函数。...

2020-12-22 09:54:38 301

原创 3D Human Motion Estimation via Motion Compression and Refinement

3D Human Motion Estimation via Motion Compression and Refinement[1]一个两阶段的基于视频的3d人体motion estimation。 本文是在VIBE[2]的基础上做的,文章指出之前所提出的方法的衡量指标是MPJPE,只是强调空间上的准确性,忽略了temporal smoothness,所以VIBE在进行可视化的时候会发现“jitter”的存在。下图用加速度误差这个指标衡量了temporal smoothness,可见本文的方更平滑,同

2020-12-17 12:03:22 384 2

原创 STAR :Sparse Trained Articulated Human Body Regressor

1、马普所对SMPL模型的改进,是参数稀疏,泛化性能更好。2、每个关节点只影响在关节点周围的顶点,所以参数更少了。3、不同人相同的姿势对shape的影响是不一样的所以添加了BMI参数。不明白的一点是为啥加了ReLU约束就可以达到这样的效果:即每个关节点只影响距离近的顶点,不会像SMPL那样没有规律。(欢迎大佬解读)...

2020-12-09 10:10:32 753

翻译 yolov5

github:https://github.com/ultralytics/yolov5相应的注释版本https://github.com/hhaAndroid/yolov5-comment优点:已经证实可以在多个数据集上快速收敛;模型可定制性强特点:yolov5有点类似EfficientNet网络的设计规则,(输入、宽度、深度)正负样本定义阶段采用了跨邻域网格的匹配策略(这个细节目前还没有看)。yolov4的网络结构是cspdarknet53+panet+spp+yolov3 hea.

2020-08-16 16:08:34 6531

原创 torch.autograd.Function

pytorch自定义layer有两种方式:方式一:通过继承torch.nn.Module类来实现拓展。只需重新实现__init__和forward函数。方式二:通过继承torch.autograd.Function,除了要实现__init__和forward函数,还要实现backward函数(就是自定义求导规则)。方式一看着更简单一点,torch.nn.Module不香么?为毛要用方式...

2020-01-09 15:44:17 3508

原创 pytorch-RefineDet------PriorBox

相关函数1、torch.clamp()torch.clamp(input, min, max, out=None) --> Tensor将输入input Tensor中每个元素约束到【min,max】,返回一个截断后的new Tensor例子:input = torch.Tensor([2,1,0.5,-0.5])output = torch.clamp(input...

2020-01-01 17:25:30 382

转载 python isinstance()与type()的区别

isinstance()会认为子类是一种父类类型,考虑继承关系。type()不会认为子类是一种父类类型,不考虑继承关系。如果要判断两个类型是否相同推荐使用isinstance()isinstance(object, classinfo)Parameter: object --实例对象 classinfo --可以是直接或间接类名、基本类型或者由它们组成的元...

2019-07-10 20:59:56 610

转载 Pytorch to(device)

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")model.to(device)这两行代码放在读取数据之前。mytensor = my_tensor.to(device)这行代码的意思是将所有最开始读取数据时的tensor变量copy一份到device所指定的GPU上去,之后的运算都在GP...

2019-07-09 16:21:43 119738 7

原创 Ubuntu利用conda创建虚拟环境,并安装cuda,cudnn

首先安装好ananconda之后,通过命令conda create -n your_env_name python=3.6 创建虚拟环境。添加清华源:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https:/...

2019-04-30 13:41:32 3725 2

原创 numpy API积累

numpy.random.choice(a,size=None,replace=True,p=None)numpy.cumsum(a, axis=None, dtype=None, out=None)numpy.ravel() vs numpy.flatten()首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),...

2019-04-15 19:04:53 112

翻译 Image Quality Assessment,IQA and Video Quality Assessment,VQA

IQA主要两种方法:(1)主观评估,评估标准平均主观得分(Mean Opinion Score,MOS);(2)客观评估,评价标准数值模型,IQA的研究重点。IQA按照原始参考图像提供信息的多少一般分成3类:(1)全参考(Full Reference-IQA,FR-IQA)比较成熟;(2)半参考(Reduced Reference-IQA, RR-IQA);(3)无参考(N...

2019-04-08 16:41:38 735

原创 2019.0213随笔(Python3和Python2的区别 :range()函数)

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。Python2 range() 函数返回的是列表。例子:list(range(0, 30, 5))...

2019-02-13 12:04:54 163

原创 Python中双冒号的作用[::]

1. range(n)生成[0,n)区间的整数 (左闭右开)2.a[start:end:step]   [start,end)    (左闭右开)          a[:end]:取得范围为[0,end)range(10)[1::2]        [1,3,5,7,9]range(20)[::3]          [0,3,6,9,12,15,18]3.当step等于负数的时...

2019-01-10 14:53:38 1550 1

翻译 创建一个二维数组两种方法

1.   int **p;      p=new int*[m];      for(int i=0;i&lt;m;i++){            p[i]=new int[n];   }2.  vector&lt;vector&lt;int&gt; &gt; vec(m);     for(int i=0;i&lt;m;i++){             vec[i...

2018-10-17 09:31:28 4023

转载 ubuntu利用conda创建虚拟环境,并安装cuda cudnn pytorch

d到安装包所在目录,安装:bash Anaconda3-5.1.0-Linux-x86_64.sh创建虚拟环境:conda create -n your_env_name python=3.6 激活虚拟环境:source activate your_env_name 安装cuda:conda install cudatoolkit=8.0 -c https://mirrors.tu...

2018-08-01 10:43:25 4015 2

转载 vgg16构造模型图

vgg16构造模型图:http://ethereon.github.io/netscope/#/gist/dc5003de6943ea5a6b8b或者下面:

2018-04-06 16:58:22 1087

原创 ubuntu下编译和链接的过程 &amp;&amp;编写opencv makefile

编译&amp;&amp;链接编译就是将源文件通过Complier,生成中间文件,在windows下,中间文件就是.obj 文件,在Ubuntu下,就是.o文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。过程(1)在编译时,编译器只检测程序语法,和函数、变量是否被声明。如果函数未被声明,编译器会给出...

2018-03-28 21:36:18 440

原创 未报价快递损毁如何处理(网上信息整理)

1.    快递赔偿程序是什么1.1.   索赔申告寄件人在超出快递服务组织承诺的服务时限、并且不超出快件受理索赔期限内,可以依据索赔因素向快递服务组织提出索赔申告。快递服务组织应提供索赔申告单给寄件人,寄件人填写后递交给快递服务组织。1.2.   索赔受理快递服务组织应在收到寄件人的索赔申告单24小时内答复寄件人,并告知寄件人索赔处理时限。1.3.   索赔处理时限索赔处

2018-01-22 19:08:50 3276

同态滤波 matlab

同态滤波 matlab实现

2017-06-23

跟老男孩学Linux运维:Shell编程实战

跟老男孩学Linux运维:Shell编程实战

2017-06-23

形态学图像处理MTLAB实现

边界提取、区域填充、连通分量提取、MATLAB

2016-12-16

MATLAB实现同态滤波

MATLAB 同态滤波

2016-10-31

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

TA关注的人

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