Pytorch
张学渣
ISCAS小硕一枚~ 阿里云CV算法工程师
展开
-
Pytorch-nn.Conv2d中groups参数的理解
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)group参数的作用是控制分组卷积。一句话,输入in_channels被划分为groups组, 每组通道数为in_channels/groups。每组需要重复计算out_channels/(n_channels/groups)次。上https://blog.csdn.n转载 2020-05-28 17:22:46 · 3643 阅读 · 0 评论 -
还是torch中的optim模块
最近在看BoF中的一些trick,发现在代码实现中有考虑对于参数的weight_decay只对卷积层的权重来进行正则化约束,不对所有参数进行约束,话不多说上代码,以torchvision中定义的resnet18为例import torchvisionimport torch.optim as optimmodel1 = torchvision.models.resnet18()parmas = []params_dict = dict(model1.named_parameters())fo原创 2020-05-27 11:46:03 · 485 阅读 · 0 评论 -
pytorch optimizer小记
1.最简单情况:opt = optim.SGD(net.parameters(), lr=0.1, weight_decay=0.05, momentum=0.9)查看一下optimizer参数具体情况:print(len(opt.param_groups))会发现长度只有1,是一个只有一个元素的数组,因此,查看一下这个数组第一个元素的情况:for i in opt.param...原创 2020-04-07 15:46:36 · 511 阅读 · 0 评论 -
pytorch中的pre-train函数模型引用及修改(增减网络层,修改某层参数等)
一、pytorch中的pre-train模型卷积神经网络的训练是耗时的,很多场合不可能每次都从随机初始化参数开始训练网络。pytorch中自带几种常用的深度学习网络预训练模型,如VGG、ResNet等。往往为了加快学习的进度,在训练的初期我们直接加载pre-train模型中预先训练好的参数,model的加载如下所示:import t...转载 2018-12-14 16:29:20 · 2539 阅读 · 2 评论 -
torch.size(), torch.view(),torch.add_()
1.torch.size()的实质上是tuplefrom __future__ import print_functionimport torchx = torch.Tensor(5, 3)print(x.size()[0]) # Print the row dimensionprint(x.size()[1]) # Print the column dimension输出...原创 2019-02-28 09:25:26 · 18112 阅读 · 0 评论 -
pytorch中的cat、stack、tranpose、permute、unsqeeze
pytorch中提供了对tensor常用的变换操作。cat 连接对数据沿着某一维度进行拼接。cat后数据的总维数不变。 比如下面代码对两个2维tensor(分别为2*3,1*3)进行拼接,拼接完后变为3*3还是2维的tensor。 代码如下:import torchtorch.manual_see...转载 2019-02-28 10:45:32 · 206 阅读 · 0 评论 -
torch.max
torch.max(input) → Tensor返回输入tensor中所有元素的最大值a = torch.randn(1, 3)>>0.4729 -0.2266 -0.2085 torch.max(a)>>0.4729 torch.ma...转载 2019-03-01 17:26:55 · 176 阅读 · 0 评论 -
torch.nonzero
学习pytorch中,看到文档里关于torch.nonzero的介绍和举例,一维的那个例子还好理解,二维的就不是很理解了,不明白为什么会出现两个[0,1,2,3],于是稍微研究了一下,搞明白了是怎么回事。先看文档的介绍:“返回一个包含输入 input 中非零元素索引的张量.输出张量中的每行...转载 2019-03-01 17:28:08 · 266 阅读 · 0 评论 -
pytorch loss function 总结
最近看了下 PyTorch 的损失函数文档,整理了下自己的理解,重新格式化了公式如下,以便以后查阅。值得注意的是,很多的 loss 函数都有 size_average 和 reduce 两个布尔类型的参数,需要解释一下。因为一般损失函数都是直接计算 batch 的数据,因此返回的 loss 结果都是维度为 (batch_size, ) 的向量。如果 reduce = False,那么 si...转载 2019-03-18 10:35:38 · 560 阅读 · 0 评论