自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DETR代码解读(一)

DETR的代码非常简洁,仓库,下面对DETR的每一部分进行详细解读这一篇博文主要介绍参数、分布式初始化、随机种子和模型部分。

2023-03-16 12:25:58 1000 1

原创 DETR论文解读

DETR的一个创新是端到端的目标检测,它能够将目标检测看做成集合预测问题,而不需要像之前的目标检测算法需要anchor或者nms等,总之就是一个将CNN和transformer结合的一个新颖的目标检测框架,改变预测头还可以进行分割等任务。

2023-03-15 22:06:48 289

原创 matplotlib: 绘制柱状图

通过matplotlib绘制柱形图。

2023-03-06 21:53:50 1390

原创 nn.init

nn.init初始化函数参数: pytorch文档nn.init.uniform_(tensor, a=0, b=1)下面举一个初始化时的例子可以看到初始化的结果在0-1之间,当初始化的数据足够多时服从均匀分布,之后的初始化方法与之相同,就不在举例了持续更新中…

2023-02-27 09:59:10 274

原创 register_buffer && nn.Parameter

本文的大部分例子来源于知乎在pytorch模型中保存模型参数的方式如下模型保存的是model.state_dict()返回对象,是一个OrderDict,他的key与value分别是模型需要保存的参数名字和值。下面介绍parameter和buffer的一些用法特点其中parameter可以被optimizer更新,我们在优化模型参数的时候,一般都会写SGD(model.parameters(), xxx),此外parameter与buffer均可以在保存模型参数时被保存到OrderDict中。

2023-02-27 09:49:05 538 1

原创 nn.Sequential && nn.ModuleList

在介绍nn.Sequential和nn.ModuleDict之前,我们需要知道在pytorch构建的model核心是nn.Module模块,下面举个例子在了解这个基本概念之后,我们分别介绍这两个模块。

2023-02-26 20:26:17 549

原创 register_buffer

https://blog.csdn.net/qq_42283621/article/details/124921414

2023-02-26 11:34:27 94

原创 Conda设置源

修改/home/your_name/.condarc里面的内容找到channels那一部分,修改为如下内容即可。

2023-02-22 15:11:41 476

原创 Pytorch并行计算(三): 梯度累加

梯度累加(Gradient Accmulation)是一种增大训练时batch size的技巧。当batch size在一张卡放不下时,可以将很大的batch size分解为一个个小的mini batch,分别计算每一个mini batch的梯度,然后将其累加起来优化正常的pytorch训练流程如下(来自使用梯度累加的方法如下。

2023-02-21 10:15:26 1134

原创 Diffusion model(三): 公式结论

这一节主要总结之前文章的公式结论。

2023-02-15 09:19:55 572

原创 nn.functional.fold/unfold

的窗在图上滑动,步长为2,第一次覆盖的内容为1256,第二次为3478,以此类推,每次滑窗的结果用一个列向量表示,列数就是滑窗提取的次数。作用:fold和unfold的作用恰好相反,unfold是用一个滑窗来提取图像中的像素值,类似于卷积操作,但是只提取不计算,fold恰好相反将滑窗提取的值返回为一个图像。之后的过程以此类推,直到我们提取到11,这时我们的行向量提取完了,但是列向量没有,所以我们从第二列开始重复刚才的过程即可,可以看到最终我们输出向量大小为。,步长为1,所以第一次提取的结果如下。

2023-01-12 12:31:01 733

原创 python可变对象与不可变对象

python可变对象与不可变对象。

2023-01-12 11:23:07 73

原创 python直接赋值、浅拷贝与深拷贝

本文主要参考这篇博文。

2023-01-12 11:17:03 488

原创 python内置模块(一): logging

首先我们在basicConfig函数中设置logging的基本信息,有等级level以及format格式,然后初始化一个logger对象并对其命名,logger在记录下面记录日志的时候,由于DEBUG信息等级低于INFO信息,因此DEBUG信息不输出。logging模块主要是用来记录程序运行日志,在调试的时候我们是可以直接看到是哪一步出了问题,但是程序运行时我们是不知道的,只能看到结果错误,如果能够实时记录相关的内容和状态,就会有更多的信息来排查问题,因此,日志记录非常重要。输出文件格式(只读只写等),

2023-01-09 15:02:37 558

原创 Diffusion model(二): 训练推导详解

接上文1. 最小化负对数似然与变分下界在弄懂diffusion model前向和反向过程之后,最后我们需要了解其训练推导过程,即用什么loss以及为什么。在diffusion的反向过程中,根据(3)(3)(3)式我们需要预测μθ(xt,t),Σθ(xt,t)\mu_{\theta}(x_{t}, t), \Sigma_{\theta}(x_{t}, t)μθ​(xt​,t),Σθ​(xt​,t),如何得到一个合理的均值和方差?类似于VAE,在对真实数据分布情况下,最大化模型预测分布的对数似然,即优化x0∼q

2023-01-08 18:39:00 1367 1

原创 python修改PYTHONPATH环境变量

我们进入到conda中的mmlab环境中,运行下面命令可以看到当前python环境和相关包的信息,也就是sys.path中的内容,有运行命令的当前目录,还有我当前环境mmlab的安装目录,也就是说默认的python在导入module的时候,默认从当前目录下以及当前环境目录下来搜索。

2023-01-04 19:36:14 2718 1

原创 linux shell脚本中的特殊用法

新建test.sh文件,运行。

2023-01-04 14:12:01 141

原创 linux shell脚本

知道怎么运行shell脚本之后,我们下面来定义shell中的变量,像其他编程语言一样,我们直接对变量赋值即可,如下。

2023-01-04 13:42:41 521

原创 Diffusion model(一): 公式推导详解

首先附上几个大佬的讲解这篇博客借鉴了上述博客和视频,同时加上个人的理解整合了一下,整个推导过程,希望能使每个人都看懂结合之前讲过的VAE和GAN模型,Diffusion Model和他们的区别就是latent code和原图是同尺寸大小的。如下图所示,Diffusion Model分为前向过程和反向过程,前向过程将输入图片x0​变为纯高斯噪声xT​(就是一个不断加噪的过程),反向过程就是将噪声xT​还原为图片x0​的过程(就是一个不断去噪的过程)

2023-01-01 11:36:49 3532 1

原创 VAE详解及PyTorch代码

首先要明白什么是生成模型?比如我们有一堆数据点XXX,他的真实分布是Pgt(X)P_{gt}(X)Pgt​(X),生成模型的目的就是去学习一个模型MMM,将一些随机采样的噪声(通常为高斯噪声)输入到此模型中,使得此模型的输出为XXX中的数据,即模型MMM的分布PPP去尽可能的接近数据的真实分布Pgt(X)P_{gt}(X)Pgt​(X),或者说让模型MMM能够尽可能地生成数据点XXX中的数据。

2022-12-29 13:39:07 1522

原创 语义分割ADE20K DDP训练Bug

在用DDP训练ADE20K数据集时,调试的时候感觉没问题,但是在真的训练的时候报了以下错误在网上找了半天,主要问题在于你的实际训练类别和数据集ADE20K的类别不符合。默认的分割数据集会将0设置为背景类,其余的1-150为我们要预测的类别,一般来说设置的背景类是要忽略的下面看MMCV的一段话即,我们在训练时应该将背景0类变为255,然后再optimizer中忽略掉255的分类像素值,这样就不会报错了,代码如下

2022-12-07 17:22:39 1605 1

原创 解决jupyter notebook无法再本地浏览器上打开

使用ssh隧道链接服务器后,发现启动jupyter会无法打开浏览器。

2022-11-29 10:34:51 2072 1

原创 ssh外网访问内网服务器

现在有这样一个情况,实验室有自己的服务器(内网),并且有相关老师进行维护(公网),我们可以在内网用内网ip访问服务器,如果我们在家里只能通过公网进行登录。但是我在实验室有一个小服务器(内网),如果我在家里就没法连接了,因为相关老师不会维护我的小服务器将其映射到公网现有:内网小服务器A,公网服务器B以及家里的电脑C,其中本地无法连接内网,但是本地和内网都可以连接公网目的:本地也可以连接内网解决:使用ssh反向隧道,将内网的端口反向代理到公网上。这样我们可以本地访问公网,然后用ssh隧道访问内网了。

2022-11-25 15:40:45 2318 2

原创 USTC信院集群使用

首先要跟管理员要个账号,这个不做叙述。

2022-10-26 11:15:36 561

原创 Docker构建报错

好像是NVIDIA的一个错误,解决方案在下面链接。之前加了下面语句解决的问题。我是在FROM镜像后面,命令之前会报以下错误。

2022-10-25 22:19:29 802

原创 vscode连接集群失败解决方法

实验室有自己的服务器,同时院里也有集群,我用内网或者外网连接自己的服务器的时候都没什么问题,但是连接集群就一直连接不上,报错如下。

2022-10-25 16:17:57 1191

原创 chmod文档权限

ls有几个重要参数-a: 显示指定路径所有文件,包含隐藏文件-l: 显示文件详细信息,包括类型,权限等-h: 文件大小以Bytes为单位显示下面我们举例介绍一下ls命令是如何显示文档的类型和权限信息的。

2022-10-20 14:34:38 522 1

原创 vscode: downloading with wget

每次用vscode远程ssh连接服务器时都很正常,但是当本地的vscode更新了以后,vscode就无法连接远程服务器了。但是如果用命令ssh依然可以连接,发现最后报的错误是。

2022-09-26 21:34:20 1507

原创 linux使用matlab

这个没有root权限的话应该是很难安装的,我没有root权限捣鼓了一天没安装成功。主要是没有办法mount镜像(mount是需要root权限的),开了docker也没用,而且我在本地解压镜像传输到服务器上也没用(win和linux解压出来的文件有差异,不知道在本地linux上解压会怎么样),就没再折腾了。运行下面命令之一,直接在命令行输出。进入到相应文件夹下,比如我们要运行。首先要添加环境变量,不然会提示。直接让师兄root安装的。

2022-09-19 14:27:32 2496 1

原创 torchvision.datasets.ImageFolder

官方文档:ImageFolder是一个通用的数据集加载API,继承自,其要求数据集的排列如下所示其包含一些属性。

2022-09-15 10:04:45 726

原创 torch.mean

官方文档:pytorch的torch.mean函数有两种用法: 一种是不带任何参数的,他返回的是tensor中所有元素的均值;第二种是带参数的,他返回某一维度的均值,这里分别介绍。

2022-09-14 22:59:01 2130

原创 torch.max

官方文档:pytorch的torch.max函数有两种用法: 一种是不带任何参数的,他返回的是tensor中所有元素的最大值;第二种是带参数的,他返回最大值和对应的索引,这里分别介绍。

2022-09-14 22:58:30 439

原创 nn.functional.sigmoid

Sigmoid的函数图像如下所示。下面对函数的参数进行解释。使用方法很简单,如下。

2022-09-14 22:56:56 640

原创 nn.functional.interpolate

看到双线性bilinear插值的结果和nearest结果不同,这里还报了错,大体意思是说在双线性插值的情况下,如果设置。上面例子,默认的插值为nearest插值,接下来我们看一个bilinear插值的例子。,也就是默认设置,1,2,3,4最后会到四个角落,还是比较规则的比例,但是如果设置。,输出可能取决于输入大小,并且不会按照比例将输出和输入像素进行对齐,因此默认的将。,1,2,3,4不会按照比例,位置会发生变化变得不规则,,此参数主要解释为原来的输入是否会被插值元素环绕。外,原来size为2,这里将。

2022-09-14 22:55:04 3182

原创 nn.functional.normalize

的,输入矩阵是(3,4),计算第1维就是4那一维(dim=0代表3那一维)。如下图所示,dim=1代表4那一维度,就是红色的那四个元素计算归一化,蓝色同理。也就是3那一维,所以对3个数进行归一化,这里以0.0107为例。下面举两个例子,一个二维一个三维。作用: 在指定的维度计算。范数,默认的计算是2范数。下面对函数的参数进行解释。

2022-09-14 22:53:16 1930

原创 分类(二):损失函数

在上一篇我们探讨了分类问题的基本概念,同时介绍了熵的概念,并解释了交叉熵和最大似然之间的关系。分类问题可以理解将两个类别p,q的所属分布接近,就是最小化交叉熵。

2022-09-14 22:51:26 311

原创 latex数学符号(持续更新)

latex

2022-08-18 21:32:27 3462

原创 分类问题 (一) : 基本定义

分类问题 (一) : 基本定义本节主要介绍三个部分,第一部分讲解分类问题中的三个主要任务的定义,第二部分讲解交叉熵的基本概念为后面博文做铺垫,第三部分从最大似然角度来对交叉熵进行解读分类问题中有多个任务,例如二分类,多分类以及多标签等,这里分别介绍下基本概念在第二篇博文介绍损失函数之前,这里先介绍熵特别是交叉熵的概念,在分类任务中,我们更多地是使用交叉熵损失而非均方差损失首先介绍信息量的概念,然后进而到熵,相对熵和交叉熵定义:假设XXX是一个离散型随机变量,取值为集合X=x0,x1,...,xnX=x_{0

2022-08-18 21:30:44 1309

原创 GitHub+Hexo博客搭建

本文主要分为三部分,安装前准备,Hexo配置以及关联GitHub。简单说明一下,安装前准备就是博客需要的一些配置,Hexo是静态博客托管平台,我们在本地可以编辑博客,更换主题等。本地更改之后网站是没法变化的(因为就是在本地编辑的,不是编辑的网站),我们需要将与本地博客相关联的那个仓库更新,然后网页的那个博客才能更新。...

2022-08-10 11:06:49 269 2

原创 ImageNet下载及处理

当时用来比赛的ImageNet是用来做多个任务的,但是我们预训练只需要分类的那个任务,所以找到下面的Images,训练集找到138GB的那个(task1&2),验证集是6.3GB的那个,测试集是13GB的那个。这里处理的时候遇到一个问题,服务器没法上网,所以其中的62行wget那个命令无法使用,这里我直接在本地新建了一个sh文件,然后把对应链接的内容复制进去了,然后传到服务器val文件夹下,运行bashxx.sh即可。就是下面这种train,val然后训练和验证集里面都有100类的文件夹形式。...

2022-07-27 20:55:18 5950

空空如也

空空如也

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

TA关注的人

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