
Pytorch
面向对象风格的深度学习框架~
悲恋花丶无心之人
计算机视觉在读研究生,熟悉Pytorch,MXNet,TensorFlow,Keras等深度学习框架,主要涉及的领域有目标检测,语义分割,超分辨率重建,行人重识别等。
个人GitHub网址为:https://github.com/nickhuang1996
-
原创 【CVPR2020】Pose-guided Visible Part Matching for Occluded Person ReID 【Windows可运行github库PVPM_Windows】
目录一、说明二、修正部分说明三、联系方式一、说明这是针对于CVPR2020《Pose-guided Visible Part Matching for Occluded Person ReID》PVPM代码的Windows版本的GitHub库,由本人亲自完成修正和测试,地址为:https://github.com/nickhuang1996/PVPM_Windows二、修正部分说明1.对于测试部分的修正,包括rank_cy.pyx文件的修正,setup.py文件的修正以及读取2020-10-23 22:09:51788
5
-
原创 行人重识别github开源库——HJL-re-id
目录一、简介二、实现的Re-ID模型三、MDRS四、遮挡的行人重识别项目地址:https://github.com/nickhuang1996/HJL-re-id一、简介这是由博主自己完成的行人重识别代码库,包含了博主自己研究的MDRS模型。该项目包含对日志记录、损失监测和可视化Rank图像的充分支持。训练项目中的各个模型都是Pytorch实现的。二、实现的Re-ID模型PCB [ECCV2018]Beyond Part Models: Person Retri.2020-09-20 22:19:342518
13
-
原创 Pytorch中Softmax和LogSoftmax的使用
目录一、函数解释二、代码示例三、整体代码一、函数解释1.Softmax函数常用的用法是指定参数dim就可以:(1)dim=0:对每一列的所有元素进行softmax运算,并使得每一列所有元素和为1。(2)dim=1:对每一行的所有元素进行softmax运算,并使得每一行所有元素和为1。class Softmax(Module): r"""Applies th...2020-05-02 15:16:044815
1
-
原创 卷积与转置卷积——输出特征图边长公式推导
目录一、公式1.卷积2.转置卷积二、公式推导1.卷积公式推导2.转置卷积公式推导3.代码演示一、公式1.卷积2.转置卷积在Pytorch中,转置卷积层参数还含有output_padding,用于解决输出大小不唯一(歧义)的问题,因此转置卷积公式稍有变化:二、公式推导1.卷积公式推导为了直观,这里选择的卷积核,输入大小为...2019-12-05 15:43:524832
4
-
原创 ModuleNotFoundError: No module named 'torch.utils.serialization' 的解决方案
目录一、出现问题二、分析原因三、解决方法一、出现问题ModuleNotFoundError: No module named 'torch.utils.serialization'二、分析原因可能是Pytorch版本太新导致三、解决方法1.安装旧一点的Pytorch版本2.更换为新版本的函数:torchfile(1)安装torchfilepip ...2019-10-22 15:30:5314783
3
-
原创 vs2017\vs2019 VGG16处理cifar-10数据集的PyTorch实现
这是针对于博客vs2017安装和使用教程(详细)和vs2019安装和使用教程(详细)的VGG16-CIFAR10项目新建示例目录一、说明二、代码三、结果四、注意事项一、说明1.网络框架搭建教程请参看博主博客:PyTorch 入门实战(四)——利用Torch.nn构建卷积神经网络2.这里主要展示博主的代码和运行结果,希望可以帮助到正在学习PyTorch的人们二、代...2019-01-23 14:30:374475
22
-
原创 vs2017 开始自己的第一个PyTorch程序
这是针对于博客vs2017安装和使用教程(详细)的PyTorch项目新建示例博主还提供了其他几篇博客供大家享用:VGG16处理cifar-10数据集的PyTorch实现PyTorch 入门实战(五)——2013kaggle比赛 猫狗大战的实现目录一、安装PyTorch环境二、新建项目三、运行代码一、安装PyTorch环境1.确保自己的电脑里已经安装了CUDA和c...2019-01-10 13:26:176942
5
-
原创 torch x = x.view(x.size(0),-1)的理解
目录一、概述二、代码展示一、概述1.在torch的网络定义部分的forward(self,x)中有可能会出现下面这句话: x = x.view(x.size(0),-1)2.这句话的意思是将多维度的Tensor展平成一维,但是到底转换的样子是什么样的其实我们这样看并不明白二、代码展示1.我们先定义一个Tensor:import torcha = torc...2019-01-21 10:17:234690
7
-
转载 Pytorch中 maxpool的ceil_mode
原文:https://blog.csdn.net/GZHermit/article/details/79351803Pytorch里面的maxpool,有一个属性叫ceil_mode,这个属性在api里面的解释是ceil_mode: when True, will use ceil instead of floor to compute the output shape也就是说,...2019-05-22 12:20:396020
1
-
原创 Pytorch里.t()的作用
目录一、函数解释二、用法示例一、函数解释在torch/_C/_VariableFunctions.py的有该定义,意义就是将Tensor进行转置 def t(self, input): # real signature unknown; restored from __doc__ """ t(input) -> Tensor ...2019-05-28 11:04:3515921
0
-
原创 Pytorch里addmm()和addmm_()的用法详解
一、函数解释在torch/_C/_VariableFunctions.py的有该定义,意义就是实现一下公式:换句话说,就是需要传入5个参数,mat里的每个元素乘以beta,mat1和mat2进行矩阵乘法(左行乘右列)后再乘以alpha,最后将这2个结果加在一起。但是这样说可能没啥概念,接下来博主为大家写上一段代码,大家就明白了~ def addmm(self, beta=1...2019-05-28 14:58:0517101
3
-
原创 torch.norm()函数的用法
目录一、函数定义二、代码示例三、整体代码一、函数定义公式: 意思就是inputs的一共N维的话对这N个数据求p范数,当然这个还是太抽象了,接下来还是看具体的代码~p指的是求p范数的p值,函数默认p=2,那么就是求2范数 ...2019-05-30 16:28:1514806
1
-
转载 PyTorch学习之归一化层(BatchNorm、LayerNorm、InstanceNorm、GroupNorm)
原文:https://blog.csdn.net/shanglianlm/article/details/85075706BN,LN,IN,GN从学术化上解释差异:BatchNorm:batch方向做归一化,算NHW的均值,对小batchsize效果不好;BN主要缺点是对batchsize的大小比较敏感,由于每次计算均值和方差是在一个batch上,所以如果batchsize太小,则计算的...2019-06-13 14:43:528616
0
-
原创 Pytorch中torch.autograd.grad()函数用法示例
目录一、函数解释二、代码范例(y=x^2)一、函数解释如果输入x,输出是y,则求y关于x的导数(梯度):def grad(outputs, inputs, grad_outputs=None, retain_graph=None, create_graph=False, only_inputs=True, allow_unused=False): r...2019-06-14 16:31:3321609
8
-
转载 PyTorch中 transforms的二十二个方法
文章目录一、 裁剪——Crop1.随机裁剪:transforms.RandomCrop2.中心裁剪:transforms.CenterCrop3.随机长宽比裁剪 transforms.RandomResizedCrop4.上下左右中心裁剪:transforms.FiveCrop5.上下左右中心裁剪后翻转: transforms.TenCrop二、翻转和旋转——Flip ...2019-06-25 12:53:457291
4
-
原创 Pytorch中.new()的作用
目录一、作用二、使用方法三、具体代码四、实际应用(添加噪声)一、作用创建一个新的Tensor,该Tensor的type和device都和原有Tensor一致,且无内容。二、使用方法如果随机定义一个大小的Tensor,则新的Tensor有两种创建方法,如下:inputs = torch.randn(m, n)new_inputs = inputs.new()...2019-08-22 14:39:3811755
7
-
原创 关于Pytorch中dataset的迭代问题(这就是为什么我们要使用dataloader的原因之一)
目录一、问题二、思考三、实验四、解决方法一、问题博主在写采样器时将dataset的类对象赋值给data_source,然后准备对data_source取样,总是提示在__getitem__()函数提示越界。二、思考换言之,在对dataset对象进行迭代取样时其__len__()方法似乎失效了。。。三、实验博主做了如下实验,利用Pytorch的FakeData...2019-08-27 17:08:006949
3