自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (5)
  • 收藏
  • 关注

原创 Torch.distributed.elastic 关于 pytorch 不稳定

错误日志:Epoch: [229] Total time: 0:17:21Test: [ 0/49] eta: 0:05:00 loss: 1.7994 (1.7994) acc1: 78.0822 (78.0822) acc5: 95.2055 (95.2055) time: 6.1368 data: 5.9411 max mem: 10624WARNING:torch.distributed.elastic.agent.server.api:Received 1 death si

2022-05-13 16:07:24 10322 5

原创 MMDetection修改代码无效

最近在打比赛,使用MMDetection框架,但是无论是Yolo修改类别还是更改head,代码运行后发现运行的是修改之前的代码。。。也就是说修改代码无效。。。问题解决办法:MMDetection在首次运行后会把一部分运行核心放在anaconda的环境中,即使修改了代码中的部分,anaconda中的代码没有更改,而真正运行的是anaconda环境中的代码办法如下:通过主文件夹进入anaconda,open-mmlab是我创建的anaconda环境,最后找到mmdet,然后找到自己想要修改的代码部分(

2022-04-20 12:18:46 1348

原创 SiamBAN论文学习

SiameseBAN论文来源论文背景主要贡献论文分析网络框架创新点一:Box Adaptive Head创新点二:Ground-truth创新点三:Anchor Free论文流程训练部分:跟踪部分论文翻译Abstract1. Introduction2. Related Works2.1. Siamese Network Based Visual Trackers2.2. Anchor-free Object Detectors3. SiamBAN Framework3.1. Siamese Network

2021-10-11 10:51:27 2010

原创 SiameseRPN++分析

SiamRPN++论文来源论文背景什么是目标跟踪什么是孪生网络结构Siamese的局限解决的问题论文分析创新点一:空间感知策略创新点二:ResNet-50深层网络创新点三:多层特征融合创新点四:深层互相关代码分析整体代码简述(1)特征提取网络(2)逐层的特征融合(Layerwise Aggregation)(3)深层互相关Depthwise Cross Correlation总结论文翻译Abstract1. Introduction2. Related Work3. Siamese Tracking wit

2021-09-16 19:03:23 2690

原创 SiameseRPN详解

SiameseRPN论文来源论文背景一,简介二,研究动机三、相关工作论文理论注意:网络结构:1.Siamese Network2.RPN3.LOSS计算4.Tracking论文的优缺点分析一、Siamese-RPN的贡献/优点:二、Siamese-RPN的缺点:代码流程一、训练部分:二、跟踪部分论文翻译学术词语知识Abstract1. Introduction2. Related Works2.1. Trackers based on Siamese network structure2.2. RPN in

2021-08-30 20:22:00 2750 1

原创 FCN全卷积网络随笔

参考:四、全卷积网络FCN详细讲解(超级详细哦)这篇文章已经写的很好了,这里说两个我考虑的点。第一个就是:FCN在缩小成heat map,为什么要通过上采样还原回原图大小?我觉得这个的原因是因为,FCN需要找到原图目标的一个范围,通过放大去找到。比如说,输入是64×64的图像,在缩小到4×4之后,发现最大score在左上角,那么在通过采样后还原的图像,也可以寻找最大值来找到目标区域。第二个就是:FCN和CNN的主要区别方面我觉得主要区别不仅仅在于FCN在中间层不需要明确输出的size,重要的是输出

2021-08-22 18:38:21 208

原创 SiameseFC超详解

SiameseFC前言论文来源参考文章论文原理解读首先要知道什么是SOT?(Siamese要做什么)SiameseFC要解决什么问题?SiameseFC用了什么方法解决?SiameseFC网络效果如何?SiameseFC基本框架结构SiameseFC网络结构SiameseFC基本流程SiamFC完整的跟踪过程论文的思考与优化SiameseFC的优点:SiameseFC的不足:(Siamese一直有鲁棒性不好的问题)论文代码解读训练阶段:1.backbones.py分析2.heads.py分析3.train.

2021-08-21 21:56:28 4670 2

原创 Siamese网络(孪生神经网络)详解

SiameseFCSiamese网络(孪生神经网络)本文参考文章:Siamese背景Siamese网络解决的问题要解决什么问题?用了什么方法解决?应用的场景:Siamese的创新Siamese的理论Siamese的损失函数——Contrastive Loss损失函数的选择论文中Contrastive Loss目前的Contrastive Loss:Siamese的思考Siamese的思想总结Siamese network是双胞胎连体,整一个三胞胎连体行不行?Siamese网络(孪生神经网络)本文参考文章

2021-08-21 14:56:50 20009 7

原创 BP神经网络反向传播手动推导

BP神经网络过程:基本思想BP算法是一个迭代算法,它的基本思想如下:将训练集数据输入到神经网络的输入层,经过隐藏层,最后达到输出层并输出结果,这就是前向传播过程。由于神经网络的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;在反向传播的过程中,根据误差调整各种参数的值(相连神经元的权重),使得总损失函数减小。迭代上述三个步骤(即对数据进行反复训练),直到满足停止准则。梯度下降法紫色部分:正确结果与节点输出结果的差值,也就是

2021-08-09 19:15:31 1383

原创 VGAE(Variational graph auto-encoders)论文及代码解读

一,论文来源论文pdfVariational graph auto-encoders论文代码github代码二,论文解读理论部分参考:Variational Graph Auto-Encoders(VGAE)理论参考和源码解析VGAE(Variational graph auto-encoders)论文详解理论方面其实前面两位大佬说的很好了,这里我只是来阐述两点:1.测试方法:模型在数据集的不完整版本上训练,其中部分引用链接(边)已被移除,而所有节点特征被保留。 我们从先前移除的边和相

2021-08-09 10:58:28 6912 2

原创 Memory-Associated Differential Learning论文及代码解读

Memory-Associated Differential Learning论文及代码解读论文来源:论文PDF:Memory-Associated Differential Learning论文论文代码:Memory-Associated Differential Learning代码论文解读:1.AbstractConventional Supervised Learning approaches focus on the mapping from input features to o

2021-08-04 18:20:07 353

原创 基于PyTorch搭建CNN实现视频动作分类任务代码详解

数据及具体讲解来源:基于PyTorch搭建CNN实现视频动作分类任务import torchimport torch.nn as nnimport torchvision.transforms as Timport scipy.iofrom torch.utils.data import DataLoader,Datasetimport osfrom PIL import Imagefrom torch.autograd import Variableimport numpy as n.

2021-07-09 15:16:36 1820 2

原创 优化算法的简洁实现

动量法思想:动量法使用了指数加权移动平均的思想。它将过去时间步的梯度做了加权平均,且权重按时间步指数衰减。代码:在Gluon中,只需要在Trainer实例中通过momentum来指定动量超参数即可使用动量法。d2l.train_gluon_ch7('sgd', {'learning_rate': 0.004, 'momentum': 0.9}, features, labels)AdaGrad算法思想:AdaGrad算法在迭代过程中不断调整学习率,

2021-07-08 10:56:21 191

原创 卷积神经网络——各种网络的简洁介绍和实现

一,卷积神经网络(LeNet)LeNet分为卷积层块和全连接层块两个部分。下面我们分别介绍这两个模块。卷积层块里的基本单位是卷积层后接最大池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的最大池化层则用来降低卷积层对位置的敏感性。卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个卷积层都使用 5×5 的窗口,并在输出上使用sigmoid激活函数。第一个卷积层输出通道数为6,第二个卷积层输出通道数则增加到16。这是因为第二个卷积层比第一个卷积层的输入的高和宽要小,所以增加输出通道使

2021-07-07 12:11:38 1089 2

原创 访问模型参数,初始化模型参数,共享模型参数方法

一. 访问模型参数对于使用Sequential类构造的神经网络,我们可以通过方括号[]来访问网络的任一层。回忆一下上一节中提到的Sequential类与Block类的继承关系。对于Sequential实例中含模型参数的层,我们可以通过Block类的params属性来访问该层包含的所有参数。下面,访问多层感知机net中隐藏层的所有参数。索引0表示隐藏层为Sequential实例最先添加的层。net[0].params, type(net[0].params)可以看到,我们得到了一个由参数名称映射到

2021-07-06 13:36:55 931

原创 PCA(主成分分析)思想及实现

PCA的概念:PCA是用来实现特征提取的。特征提取的主要目的是为了排除信息量小的特征,减少计算量等。简单来说:当数据含有多个特征的时候,选取主要的特征,排除次要特征或者不重要的特征。比如说:我们要区分猫和狗。那么,猫和狗是否有胡子就变得尤为重要,这属于主要特征,但是猫和狗的颜色就变得不重要了,这就属于不重要特征了。但是当我们要区分猫的种类的时候,猫的颜色又变成主要特征了。这说明主要特征是相对的,而不是绝对的。而我们要保留那些对结果更重要的特征,减少不重要的特征,这就是主成分分析。PCA的实现:

2021-07-06 13:18:28 3072 1

原创 opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及卷积填充模式

具体参考我的另一篇文章:opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及Same(相同)填充与Vaild(有效)填充这里是对这一篇文章的补充!卷积—三种填充模式橙色部分为image, 蓝色部分为filter。从左往右分别是:full、same、valid模式。注意:这里的same还有一个意思,卷积之后输出的feature map尺寸保持不变(相对于输入图片)。当然,same模式不代表完全输入输出尺寸一样,也跟卷积核的步长有关系。same模式也是最常见的模式,因为这种模式可以在卷积过

2021-07-05 15:03:07 231

原创 直方图绘制与直方图均衡化实现

一,直方图的绘制1.直方图的概念:在图像处理中,经常用到直方图,如颜色直方图、灰度直方图等。图像的灰度直方图就描述了图像中灰度分布情况,能够很直观的展示出图像中各个灰度级所占的多少。图像的灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数:其中,横坐标是灰度级,纵坐标是该灰度级出现的频率。(简洁来说:就是描述图像中各个灰度级的个数)直方图反映了图像中的灰度分布规律。它描述每个灰度级具有的像素个数,但不包含这些像素在图像中的位置信息。图像直方图不关心像素所处的空间位置,因此

2021-07-05 14:57:27 1238

原创 房价预测 search Search 中对数据预处理的学习

对于缺失的数据:我们对连续数值的特征做标准化(standardization):设该特征在整个数据集上的均值为 μ ,标准差为 σ 。那么,我们可以将该特征的每个值先减去 μ 再除以 σ 得到标准化后的每个特征值。对于缺失的特征值,我们将其替换成该特征的均值。numeric_features = all_features.dtypes[all_features.dtypes != 'object'].indexall_features[numeric_features] = all_features[

2021-07-04 17:31:30 221

原创 pandas合并concat&merge和plot画图

3.6,3.7pandas合并concat&merge头文件:import pandas as pdimport numpy as npconcat基础合并用法df1= pd.DataFrame(np.ones((3,4))*0,columns = ['a','b','c','d'])df2= pd.DataFrame(np.ones((3,4))*1,columns = ['a','b','c','d'])df3= pd.DataFrame(np.ones((3,4))*2,col

2021-07-03 15:01:21 536

原创 pandas处理丢失数据与数据导入导出

3.4pandas处理丢失数据头文件:import numpy as npimport pandas as pd丢弃数据部分:dates = pd.date_range('20130101',periods=6)df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['A','B','C','D'])df.iloc[0,1] = np.nandf.iloc[1,2] = np.nanprint(df.dropna(axis

2021-07-03 14:46:31 219

原创 pandas基础操作

3.1panda基础操作头文件:import numpy as npimport pandas as pd创建pandas序列pandas会默认添加序号s = pd.Series([1,3,6,np.nan,44,1])创建时间序列。periods=6:生成六个数据dates = pd.date_range('20160101',periods=6)自己定义数据标签index是值行标签。colums是列标签df = pd.DataFrame(np.random.randn(6,4

2021-07-03 14:41:16 320

原创 Pytorch构建模型的3种方法

这个地方一直是我思考的地方!因为学的代码太多了,构建的模型各有不同,这里记录一下!可以使用以下3种方式构建模型:1,继承nn.Module基类构建自定义模型。2,使用nn.Sequential按层顺序构建模型。3,继承nn.Module基类构建模型并辅助应用模型容器进行封装(nn.Sequential,nn.ModuleList,nn.ModuleDict)。其中 第1种方式最为常见,第2种方式最简单,第3种方式最为灵活也较为复杂。推荐使用第1种方式构建模型。头文件:import torch

2021-07-02 13:25:48 2292 1

原创 Pytorch损失函数losses简介

一般来说,监督学习的目标函数由损失函数和正则化项组成。(Objective = Loss + Regularization)Pytorch中的损失函数一般在训练模型时候指定。注意Pytorch中内置的损失函数的参数和tensorflow不同,是y_pred在前,y_true在后,而Tensorflow是y_true在前,y_pred在后。对于回归模型,通常使用的内置损失函数是均方损失函数nn.MSELoss 。对于二分类模型,通常使用的是二元交叉熵损失函数nn.BCELoss (输入已经是sigmo

2021-07-02 13:18:09 957

原创 Pytorch模型层简单介绍

模型层layers深度学习模型一般由各种模型层组合而成。torch.nn中内置了非常丰富的各种模型层。它们都属于nn.Module的子类,具备参数管理功能。例如:nn.Linear, nn.Flatten, nn.Dropout, nn.BatchNorm2dnn.Conv2d,nn.AvgPool2d,nn.Conv1d,nn.ConvTranspose2dnn.Embedding,nn.GRU,nn.LSTMnn.Transformer如果这些内置模型层不能够满足需求,我们也可以通过继承

2021-07-02 13:07:29 1052

原创 Dataset和DataLoader构建数据通道

重点在第二部分的构建数据通道和第三部分的加载数据集Pytorch通常使用Dataset和DataLoader这两个工具类来构建数据管道。Dataset定义了数据集的内容,它相当于一个类似列表的数据结构,具有确定的长度,能够用索引获取数据集中的元素。而DataLoader定义了按batch加载数据集的方法,它是一个实现了__iter__方法的可迭代对象,每次迭代输出一个batch的数据。DataLoader能够控制batch的大小,batch中元素的采样方法,以及将batch结果整理成模型所需输入形式

2021-07-02 13:02:16 732

原创 nn.functional 和 nn.Module入门讲解

本文来自《20天吃透Pytorch》一,nn.functional 和 nn.Module前面我们介绍了Pytorch的张量的结构操作和数学运算中的一些常用API。利用这些张量的API我们可以构建出神经网络相关的组件(如激活函数,模型层,损失函数)。Pytorch和神经网络相关的功能组件大多都封装在 torch.nn模块下。这些功能组件的绝大部分既有函数形式实现,也有类形式实现。其中nn.functional(一般引入后改名为F)有各种功能组件的函数实现。例如:(激活函数) * F.relu

2021-07-01 17:16:29 1236

原创 Pytorch有关张量的各种操作

一,创建张量1. 生成float格式的张量:a = torch.tensor([1,2,3],dtype = torch.float)2. 生成从1到10,间隔是2的张量:b = torch.arange(1,10,step = 2)3. 随机生成从0.0到6.28的10个张量注意:(1).生成的10个张量中包含0.0和6.28(两端点)(2).生成的张量步长是随机的c = torch.linspace(0.0,2*3.14,10)4. zeros_like是生成与a格式相同,但是

2021-07-01 17:05:37 1540

原创 Pytorch高阶API示范——DNN二分类模型

代码部分:import numpy as npimport pandas as pdfrom matplotlib import pyplot as pltimport torchfrom torch import nnimport torch.nn.functional as Ffrom torch.utils.data import Dataset,DataLoader,TensorDataset"""准备数据"""#正负样本数量n_positive,n_negative =

2021-07-01 15:49:59 1579

原创 Pytorch高阶API示范——线性回归模型

本文与《20天吃透Pytorch》有所不同,《20天吃透Pytorch》中是继承之前的模型进行拟合,本文是单独建立网络进行拟合。代码实现:import torchimport numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom torch import nnimport torch.nn.functional as Ffrom torch.utils.data import Dataset,DataLoader,

2021-07-01 15:39:04 323

原创 《20天吃透Pytorch》Pytorch自动微分机制学习

自动微分机制Pytorch一般通过反向传播 backward 方法 实现这种求梯度计算。该方法求得的梯度将存在对应自变量张量的grad属性下。除此之外,也能够调用torch.autograd.grad 函数来实现求梯度计算。这就是Pytorch的自动微分机制。一,利用backward方法求导数backward 方法通常在一个标量张量上调用,该方法求得的梯度将存在对应自变量张量的grad属性下。如果调用的张量非标量,则要传入一个和它同形状 的gradient参数张量。相当于用该gradient参

2021-06-30 22:39:27 543

原创 结构化数据建模——titanic数据集的模型建立和训练(Pytorch版)

本文参考《20天吃透Pytorch》来实现titanic数据集的模型建立和训练在书中理论的同时加入自己的理解。一,准备数据数据加载titanic数据集的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存。结构化数据一般会使用Pandas中的DataFrame进行预处理。import torchimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom torch import nnfr

2021-06-30 17:14:40 1765 1

原创 上采样(放大图像)和下采样(缩小图像)(最邻近插值和双线性插值的理解和实现)

上采样和下采样什么是上采样和下采样?• 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。• 放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。注意:如果想放大一个图片或者一个图片,应该想到,当图片放大或缩小的时候,会增加或者减少像素点。比如说原来200×200的图片,要是想变成400×4

2021-06-29 21:18:43 10891 4

原创 图像灰度化与二值化

图像灰度化什么是图像灰度化?图像灰度化并不是将单纯的图像变成灰色,而是将图片的BGR各通道以某种规律综合起来,使图片显示位灰色。规律如下:手动实现灰度化首先我们采用手动灰度化的方式:其思想就是:先创建一个跟原来长宽一样的空白图片,然后将原图片中图片各个像素按照下面公式填入图片中,实现灰度化。import cv2import numpy as npfrom skimage.color import rgb2grayfrom PIL import Imageimport matplo

2021-06-29 18:26:53 3986 2

原创 莫烦Matplotlib可视化第五章动画代码学习

5.1 Animation 动画import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import animationfig,ax = plt.subplots()x = np.arange(0,2*np.pi,0.01)line, = ax.plot(x,np.sin(x))def animate(i): line.set_ydata(np.sin(x+i/10)) return line,

2021-06-29 13:35:40 81

原创 莫烦Matplotlib可视化第四章多图合并显示代码学习

4.1Subplot多合一显示import matplotlib.pyplot as pltimport numpy as npplt.figure()"""每个图占一个位置"""# plt.subplot(2,2,1) #将画板分成两行两列,选取第一个位置,可以去掉逗号# plt.plot([0,1],[0,1])## plt.subplot(2,2,2)# plt.plot([0,1],[0,1])## plt.subplot(2,2,3)# plt.plot([0,1

2021-06-29 13:34:58 155

原创 莫烦Matplotlib可视化第三章画图种类代码学习

3.1散点图import matplotlib.pyplot as pltimport numpy as npn = 1024X = np.random.normal(0,1,n)Y = np.random.normal(0,1,n)T = np.arctan2(Y,X) #用于计算颜色plt.scatter(X,Y,s=75,c=T,alpha=0.5)#alpha是透明度#plt.scatter(np.arange(5),np.arange(5)) #一条线的散点图plt.xl

2021-06-29 13:33:29 106

原创 莫烦Matplotlib可视化第二章基本使用代码学习

基本用法import matplotlib.pyplot as pltimport numpy as np"""2.1基本用法"""# x = np.linspace(-1,1,50) #[-1,1]50个点# #y = 2*x +1## y = x**2# plt.plot(x,y) #注意:x,y顺序不能反# plt.show()"""2.2figure图像"""# x = np.linspace(-3,3,50)# y1 = 2*x +1# y2 =

2021-06-29 13:31:16 183

原创 PyTorch官方教程中文版:Pytorch之图像篇

微调基于 torchvision 0.3的目标检测模型"""为数据集编写类"""import osimport numpy as npimport torchfrom PIL import Imageclass PennFudanDataset(object): def __init__(self, root, transforms): self.root = root self.transforms = transforms #

2021-06-23 11:57:22 831

原创 PyTorch官方教程中文版:入门强化教程代码学习

PyTorch之数据加载和处理from __future__ import print_function, divisionimport osimport torchimport pandas as pd #用于更容易地进行csv解析from skimage import io, transform #用于图像的IO和变换import numpy as npimport matplotlib.pyplot as pltfrom torch.utils.data

2021-06-23 11:53:12 389

Titanic数据集(泰坦尼克数据集)

泰坦尼克数据集,完善了Fare缺失,保留了Age和Carbin缺失

2021-06-30

Keras框架:实例分割mask-rcnn代码实现

Keras框架:实例分割mask-rcnn代码实现

2021-06-18

Keras框架:人脸识别mtcnn算法实现

Keras:人脸识别mtcnn算法实现

2021-06-15

Tensorflow框架:目标检测yolo3算法实现

Tensorflow框架:目标检测yolo3算法实现

2021-06-15

Keras框架:faster-rcnn目标检测算法实现

Keras框架:faster-rcnn目标检测算法实现

2021-06-12

空空如也

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

TA关注的人

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