
pytorch
文章平均质量分 73
goodxin_ie
深度学习小白一枚
展开
-
pytorch自定义初始化权重
在常见的pytorch代码中,我们见到的初始化方式都是调用init类对每层所有参数进行初始化。但是,有时我们有些特殊需求,比如用某一层的权重取优化其它层,或者手动指定某些权重的初始值。核心思想就是构造和该层权重同一尺寸的矩阵去对该层权重赋值。但是,值得注意的是,pytorch中各层权重的数据类型是nn.Parameter,而不是Tensor或者Variable。import torch...原创 2018-11-26 20:44:01 · 18087 阅读 · 6 评论 -
pytorch实用网络分析工具
1.https://github.com/sksq96/pytorch-summarypytorch-summary是一个展示网络结构、参数、输出尺寸的实用分析工具2.https://github.com/Swall0w/torchstattorchstat 详细展示网络各层的参数,计算量,内存读写等等3.https://github.com/Lyken17/p...原创 2019-06-04 21:52:20 · 1809 阅读 · 3 评论 -
pytorch学习率调整规则
PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。c. 自定义调整:...转载 2019-05-30 20:08:14 · 2727 阅读 · 2 评论 -
CornerNet源码阅读笔记(一)------解码过程
CornerNet和loss、解码相关的函数其实在kp.py和kp_utils.py里面解码函数如下所示:def _decode( tl_heat, br_heat, tl_tag, br_tag, tl_regr, br_regr, K=100, kernel=1, ae_threshold=1, num_dets=1000): batch, cat, he...原创 2019-05-22 22:53:33 · 2854 阅读 · 9 评论 -
pytorch-ssd源码解读(三)------------multibox_loss(损失函数)
pytorch-ssd 本人加的注释版本一、SSD损失函数 SSD的损失函数与region proposal方法有个明显的区别,在于SSD并不是针对所有的检测器计算loss。SSD会用一种匹配策略给每个检测器分配一个真实标签(背景为0,前景为对应的物体类别)。指定的标签为前景的预测器称为正样本(正样本全部计算loss)。标签为背景的预测器是负样本,并不是所有的负样本都用来计算loss(...原创 2019-04-29 16:37:01 · 7242 阅读 · 14 评论 -
pytorch小知识点(三)-------Tensor的indices操作
一、Tesnor先简单介绍一下Tensor。Tensor是pytorch的核心,它是一个包含单一数据类型的多维矩阵。pyTorch定义了七种CPU tensor类型和八种GPU tensor类型:默认的torch.Tensor是FloatTensor。我们可以简单地向下面的方式创建一个Tensor:"""FloatTensor"""x1 = torch.FloatTen...原创 2019-04-29 15:01:58 · 18497 阅读 · 3 评论 -
pytorch小知识点(二)-------CrossEntropyLoss(reduction参数)
在使用Pytorch时经常碰见这些函数cross_entropy,CrossEntropyLoss, log_softmax, softmax。首先要知道上面提到的这些函数一部分是来自于torch.nn,而另一部分则来自于torch.nn.functional(常缩写为F)。二者函数的区别可参见知乎:torch.nn和funtional函数区别是什么?下面是对与cross entro...原创 2019-04-28 21:13:59 · 37850 阅读 · 3 评论 -
pytorch-ssd源码解读(二)------------detection(预测层)
一、定义detection层是ssd预测阶段的最后一层。它接收底层网络输出的位置偏移量(loc_data)、各个框置信度(conf_data)以及默认框(prior_data)。该层的作用是整合各层的预测结果,过滤置信度太低的预测框,通过类内nms抑制大量相同的预测框。二、代码解读1.输入loc_data 网络六个层预测的坐标偏移。Shape:[batch,num_prior...原创 2019-04-27 19:26:13 · 3145 阅读 · 4 评论 -
pytorch-ssd源码解读(一)------------PriorBox(默认框生成)
源码地址一、相关函数本部分介绍一下代码中使用的不常见的函数1、torch.clamp( )该函数原型如下:torch.clamp(input, min, max, out=None) --> Tensor将输入input张量每个元素的夹紧到区间 [min,max],并返回结果到一个新张量。其实就是我们常用的截断函数(分段阈值)。举个例子:input =...原创 2019-04-26 22:58:55 · 4990 阅读 · 10 评论 -
pytorch小知识点(一)-------in-place operation
一、什么是in-place在pytorch的很多函数中经常看到in-place选项,具体是什么意思一直一知半解。这次专门来学习一下,in-place operation在pytorch中是指改变一个tensor的值的时候,不经过复制操作,而是直接在原来的内存上改变它的值。可以把它称为原地操作符。在pytorch中经常加后缀“_”来代表原地in-place operation,比如说.add...原创 2019-04-26 21:59:54 · 3755 阅读 · 1 评论 -
pytorch定义自己的新层(非官方example)
一、解析层的结构首先我们通过分析官方的源码了解一下什么是层,它包含哪些结构,成员是啥等。class Linear(nn.Module): def __init__(self, input_features, output_features, bias=True): super(Linear, self).__init__() self.input_...原创 2018-12-02 02:27:16 · 9687 阅读 · 10 评论 -
torch.norm的理解
官方文档torch.norm是对输入的Tensor求范数1.版本1--------------求张量范数torch.norm(input, p=2) → float参数:input (Tensor) – 输入张量 p (float,optional) – 范数计算中的幂指数值这是pytorch中的默认版本。输入为一个Tensor,输出是一个数。没啥多说的,直接上例子:...原创 2018-11-30 16:57:12 · 121738 阅读 · 3 评论 -
pytorch---仿射变换
一、仿射变换图片的旋转、平移、缩放等可以看做一个像素的重采样过程。将原图的像素映射到目标图像的对应位置上,可以 其中为原图的坐标,x,y为目标图的坐标,该变换称为前向变换,遍历原图像素,求出改像素在目标图像的对应位置。 前向变换虽然符合逻辑,但是却使得目标图...原创 2019-08-08 21:05:36 · 7358 阅读 · 4 评论