
深度学习与pytorch
文章平均质量分 76
winycg
问题可联系QQ:1241981936
展开
-
vision transformer的位置编码总结
视觉transformer位置编码原创 2022-10-09 15:12:12 · 12637 阅读 · 10 评论 -
测试ResNet在ImageNet验证集上的准确率
import torchimport torch.nn as nnimport torch.optim as optimimport torch.backends.cudnn as cudnnimport torch.nn.functional as Fimport osimport shutilimport argparseimport numpy as npimport torchvisionimport torchvision.datasets as datasetsimpo原创 2022-03-30 16:35:08 · 3262 阅读 · 7 评论 -
Transformer:Attention is all your need流程+代码详解
原始论文(NIPS 2017):https://papers.nips.cc/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html参考代码:https://github.com/jadore801120/attention-is-all-you-need-pytorchAttentionScaled Dot-Product Attention涉及到query,key和value 3个输入向量。设有qqq个query向量,维度为d原创 2021-02-17 19:11:39 · 1015 阅读 · 0 评论 -
Ubuntu系统利用Docker安装mmdetection
参考链接:https://blog.youkuaiyun.com/red_stone1/article/details/103717757环境准备:Ubuntu16以上系统中有GPU并且已安装NVIDIA驱动NVIDIA-docker在docker容器中使用GPU,首先需要安装nvidia-docker,github地址如下:https://github.com/NVIDIA/nvidia-docker注意这里,官网也提到,若在docker中运行gpu程序,宿主机环境只需要安装nvidia-驱动即可,无需安原创 2020-10-08 21:09:27 · 1383 阅读 · 1 评论 -
CIFAR-100数据集可视化图片
CIFAR数据集地址:http://www.cs.toronto.edu/~kriz/cifar.html官方下载后的数据集文件是以byte形式存储的图像文件,如果我们想要可视化图片,则需要自行写一个脚本。以下以CIFAR-100的测试集为例,它的文件名为test,从该文件中提取出10000张32×3232\times 3232×32的图片,并保存每张图片的label到groud_truth.txt。import pickle as pimport numpy as npfrom PIL impo原创 2020-06-09 23:41:46 · 4892 阅读 · 3 评论 -
Gated Convolutional Networks with Hybrid Connectivity for Image Classification,混合连通性的门限卷积网络来进行图像分类
本篇博客介绍在AAAI-2020发表的关于人工设计的一种图像分类结构:论文名称:Gated Convolutional Networks with Hybrid Connectivity for Image Classification论文地址:代码实现:原创 2020-06-09 16:17:36 · 1832 阅读 · 11 评论 -
few shot learning-小样本学习入门
基本概念小样本学习(few shot learning,FSL)可以看做每个类别样本数目远远小于类别数目,也就是说每个类别仅仅只有几个样本可供训练。原创 2020-04-22 20:48:44 · 11312 阅读 · 11 评论 -
Contrastive Multiview Coding(多视角的对比学习编码)
原文题目为:Contrastive Multiview Coding代码链接:https://github.com/HobbitLong/CMC引言本文主要提出了Multiview 的contrastive learning。motivation是现实世界中看待同一个物体具有多个视角,每一个视角都是有噪声和不完整的,但是一些对于该物体很重要的元素,例如physics(物理), geometr...原创 2020-04-21 16:28:44 · 7507 阅读 · 5 评论 -
变分互信息蒸馏(Variational mutual information KD)
原文标题是Variational Information Distillation for Knowledge Transfer,是CVPR2019的录用paper。思路比较简单,就是利用互信息(mutual information,MI)的角度,增加teacher网络与student网络中间层特征的MI,motivation是因为MI可以表示两个变量的依赖程度,MI越大,表明两者的输出越相关...原创 2020-04-03 18:23:13 · 3219 阅读 · 0 评论 -
capsule network介绍与实现
论文链接:https://arxiv.org/pdf/1710.09829v1.pdfcapsule网络motivationcapsule网络提出的原因是针对CNN进行特征提取的时候会忽略特征之间的关系,也就是说一张image里打乱region,CNN仍然能够正确识别。参考:https://baijiahao.baidu.com/s?id=1585376284135321218&wfr...原创 2020-03-18 18:04:39 · 6547 阅读 · 1 评论 -
利用torch.autograd.Function自定义层的forward和backward
当我们在Pytorch中想自定义某一层的梯度计算时,可以利用torch.autograd.Function来封装一个class,此时可以我们可以自己在backward方法中自定求解梯度的方法,也适用于不可导函数的backward计算。这个函数的源代码可以从如下链接获取:https://pytorch.org/docs/stable/_modules/torch/autograd/functio...原创 2020-02-20 16:34:10 · 10357 阅读 · 6 评论 -
高斯分布基础知识及scipy实现
概率密度函数(pdf)随机变量XXX的高斯分布的概率密度函数(probability density function,pdf):f(x)=12πσe−(x−μ)22σ,−∞<x<∞f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^{2}}{2\sigma}},-\infty<x<\inftyf(x)=2πσ1e−2...原创 2020-02-16 18:52:25 · 3646 阅读 · 0 评论 -
Faster R-CNN详解
Faster R-CNNPytorch实现:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0专门的Region Proposal模块是当前的速度瓶颈,Faster R-CNN 直接用CNN (Region Proposal Network, RPN) 来生成Region Proposal,并且和第二阶段的CNN共享卷积...原创 2019-11-03 23:47:40 · 558 阅读 · 0 评论 -
高效的从Backbone CNN提取特征的方法:FPN
FPN(Features Pyramid Networks)特征金字塔网络是从backbone CNN中提取特征用于后续目标检测和语义分割等问题。一个top-down结构结合lateral连接来建立所有不同尺度特征的high-level语义特征。背景...原创 2019-11-02 21:43:28 · 3644 阅读 · 2 评论 -
Network Dissection量化网络的可解释性(interpretability)
引言作者提出了量化网络latent representation可解释性的框架:评估单一隐藏单元与语义概念的对齐关系。给定一个CNN,可以对某一卷积层的隐藏单元的语义进行打分。语义具有如下的标签:objects(目标),parts(物体的一部分),scenes(场景),textures(纹理),materials(材料),color(颜色)。...原创 2019-10-21 18:43:53 · 2359 阅读 · 3 评论 -
利用FGSM实现对抗样本攻击
对抗样本的线性解释数字图像通常采用每个像素8bit来编码,因此会抛弃小于1/255的信息。设原始图像为x\bm{x}x,扰动噪声为η\bm{\eta}η,扰动之后的图像为:x~=x+η\tilde{\bm{x}}=\bm{x}+\bm{\eta}x~=x+η如果η\bm{\eta}η小于特征的精度,那么分类器如果做出不同的相应是不合理的。格式上的,对于well-separated类,我们期望...原创 2019-10-14 21:36:58 · 7905 阅读 · 6 评论 -
Pytorch实现ResNet V2-Pre-activation ResNet
论文地址:Identity Mappings in Deep Residual Networks原创 2019-02-03 17:32:01 · 8379 阅读 · 17 评论 -
Pytorch分布式训练
参考文献:https://www.cnblogs.com/jfdwd/p/11196439.htmlNCCLNVIDIA Collective Communication Library (NCCL) :NVIDIA分布式通信库,负责加速共同通信原语,不是一个并行编程框架。利用NCCL可以在多GPU训练下的优化。下载安装链接:https://docs.nvidia.com/deeplearn...原创 2019-08-28 11:35:09 · 6861 阅读 · 1 评论 -
基于深度学习的目标检测和分割
参考链接:https://www.jianshu.com/p/5056e6143ed5目标检测技术的演进:RCNN->SppNET->Fast-RCNN->Faster-RCNN不同于分类问题,物体检测可能会存在多个检测目标,这不仅需要我们判别出各个物体的类别,而且还要准确定位出物体的位置。首先讲解几个常用的概念:Bbox,IoU,非极大值抑制。Bounding Box...原创 2019-09-01 10:38:40 · 6175 阅读 · 2 评论 -
数据集COCO在目标检测的介绍与使用
COCO数据集介绍COCO数据集主页:http://cocodataset.orgCOCO数据集是大规模的数据集,用于Object Detection + Segmentation + Localization + Captioning。数据集下载:http://cocodataset.org/#download目前常用的是2017 Train images [118K/18GB]和201...原创 2019-09-02 11:42:38 · 15677 阅读 · 10 评论 -
CNN可视化-Guided Grad-CAM
原文:http://openaccess.thecvf.com/content_ICCV_2017/papers/Selvaraju_Grad-CAM_Visual_Explanations_ICCV_2017_paper.pdf代码链接:https://github.com/kazuto1011/grad-cam-pytorch(b,g)Guided Backprop 提供了高像素的可视化...原创 2019-09-10 12:31:12 · 8379 阅读 · 1 评论 -
图像升采样方法
双线性插值(Bilinear-interpolate)参考链接:https://www.cnblogs.com/wxl845235800/p/9608736.html尤其当显示分辨率过低时,在表现非水平或竖直的直线以及明显边缘时,离散的像素点间灰度值缺少过渡,会有很明显的锯齿。对于这种情况,我们需要对图像边缘进行柔化处理,使图像边缘看起来更平滑,更接近现实。同样的,依空间坐标变换方法,计算得到...原创 2019-09-14 23:21:45 · 1688 阅读 · 0 评论 -
BagNet特征heatmap可视化
BagNet地址:https://github.com/wielandbrendel/bag-of-local-features-modelsBagNet是ResNet的变体,显著的区别是将3x3卷积变为1x1卷积来达到构造整体网络具有某个最终的感受野(receptive field)目的。在这里主要讲解对于一张来源于ImageNet的尺寸为224x224的原始图像,如何判断其局部的image ...原创 2019-09-24 11:11:18 · 1985 阅读 · 2 评论 -
ImageNet数据集编号对应的类别内容
参考链接:http://befree2008.github.io/2018/10/05/20181005_ImageNet1000ImageNet 2012 1000个类名称和编号。ILSVRC2012_img_train.tar 这个文件解压出来都是一些nxxx这样的目录,也不知道他对应是哪个类,通过找caffe_ilsvrc12.tar.gz能把这些类对应出来。0 n01440764 鱼,...原创 2019-09-29 22:25:12 · 51722 阅读 · 4 评论 -
Pytorch实现常用正则化
Stochastic Depth论文:Deep Networks with Stochastic Depth本文的正则化针对于ResNet中的残差结构,类似于dropout的原理,训练时对模块进行随机的删除,从而提升模型的泛化能力。对于上述的ResNet网络,模块越在后面被drop掉的概率越大。作者直觉上认为前期提取的低阶特征会被用于后面的层。第一个模块保留的概率为1,之后保留概率随着深度...原创 2019-07-17 21:42:14 · 2341 阅读 · 0 评论 -
优化Pytorch框架的数据加载过程
queue模块参考链接:https://www.cnblogs.com/skiler/p/6977727.htmlhttps://blog.youkuaiyun.com/qq_41185868/article/details/80502072queue模块是python自带的模块。实现了多生产者,多消费者的队列。当要求信息必须在多线程间安全交换,这个模块在线程编程时非常有用。Queue模块实现了所有要求...原创 2019-06-16 23:52:39 · 4733 阅读 · 2 评论 -
pytorch学习率调整详解
pytorch中既自带了学习率函数,我们也可以自定义学习率调整函数。调整函数通常随epoch的变化而变化。首先实现自定义学习率调整:自定义学习率调整以SGDR余弦学习率调整为例:论文地址:https://arxiv.org/abs/1608.03983使用T0,TmultT_{0},T_{mult}T0,Tmult的策略,初始为T0T_{0}T0个epoch为一个学习率调整周期,之后...原创 2019-02-27 17:28:15 · 6430 阅读 · 0 评论 -
Pytorch实现MobileNetV2
论文链接:https://arxiv.org/abs/1704.04861MobileNetV2网络是2018年04月发布的,沿用了V1的深度可分离卷积,主要创新点是逆转残差(Inverted Residuals)和线性瓶颈层(Linear Bottlenecks)。Linear Bottlenecks指的是在bottleneck模块的最后使用的是线性转换而不是ReLU。作者分析认为ReLU...原创 2019-02-16 21:34:19 · 13947 阅读 · 8 评论 -
pytorch实现ShuffleNet
ShuffleNet是由2017年07月发布的轻量级网络,设计用于移动端设备,在MobileNet之后的网络架构。主要的创新点在于使用了分组卷积(group convolution)和通道打乱(channel shuffle)。分组卷积和通道打乱分组卷积分组卷积最早由AlexNet中使用。由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把特征图分给多...原创 2019-02-22 10:44:57 · 9858 阅读 · 4 评论 -
pytorch实现ResNet
参考博客:http://www.cnblogs.com/wuliytTaotao/archive/2018/09/15/9560205.htmlhttps://blog.youkuaiyun.com/wu_x_j_/article/details/84823002https://blog.youkuaiyun.com/wsp_1138886114/article/details/82080881残差网络(resid...原创 2019-01-30 23:35:52 · 45459 阅读 · 23 评论 -
Pytorch实现GoogLeNet
GoogLeNet也叫InceptionNet,在2014年被提出,如今已到V4版本。GoogleNet比VGGNet具有更深的网络结构,一共有22层,但是参数比AlexNet要少12倍,但是计算量是AlexNet的4倍,原因就是它采用很有效的Inception模块,并且没有全连接层。最重要的创新点就在于使用inception模块,通过使用不同维度的卷积提取不同尺度的特征图。...原创 2019-01-29 20:26:53 · 9112 阅读 · 5 评论 -
pytorch实现MobileNet
论文:https://arxiv.org/pdf/1704.04861.pdf背景:为移动端和嵌入式端深度学习应用设计的网络,使得在cpu上也能达到理想的速度要求。MobileNet是一个轻量级深度神经网络。创新点:主要应用了深度可分离卷积来代替传统的卷积操作,并且放弃pooling层。把标准卷积分解成深度卷积(depthwise convolution)和逐点卷积(pointwise c...原创 2019-01-26 23:02:21 · 14534 阅读 · 34 评论 -
Pytorch神经网络初始化kaiming分布
函数的增益值torch.nn.init.calculate_gain(nonlinearity, param=None)提供了对非线性函数增益值的计算。增益值gain是一个比例值,来调控输入数量级和输出数量级之间的关系。fan_in和fan_outpytorch计算fan_in和fan_out的源码def _calculate_fan_in_and_fan_out(tensor):...原创 2019-01-25 17:40:28 · 25916 阅读 · 6 评论 -
结合pytorch解析VGG Net
2014年ILSVRC竞赛的第二名为VGG Net,该网络结构继承了LeNet和AlexNet的框架,采用了19层的深度网络。VGGNet在分类成功率上药稍逊于GoogleNet,在多个迁移学习任务中的表现要优于GoogleNet。从图像中提取CNN特征,VGGNet是首选算法。VGGNet的缺点是存储空间太大,参数太多,参数量达到140M。总体来说,VGGNet没有过多创新,主要在以下方面进行改...原创 2019-01-24 22:07:44 · 1464 阅读 · 2 评论 -
Pytorch搭建神经网络组件以及动态搭建详解
网络结构搭建组建搭建参数层:class torch.nn.Module定义的是一个类,通常用来定义具有参数的layer,比如卷积层,全连接层,会自动提取可学习参数nn.Parameter。但是dropout层和batch_norm层也用此模块来实现,因为可以通过方法model.eval来判别是训练模式还是测试模式。搭建无参数层:torch.nn.functional定义了一个函数,用来实现...原创 2019-01-24 16:07:30 · 1977 阅读 · 0 评论 -
LeNet和CIFAR10数据集为例解析Pytorch常用操作
一.搭建神经网络创建lenet.py:import torch.nn as nnimport torch.nn.functional as F# 继承了nn.Module类class LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__() self.conv1 = n...原创 2019-01-23 22:11:16 · 1700 阅读 · 0 评论 -
pytorch实现CondenseNet
github地址:https://github.com/ShichenLiu/CondenseNet本文提出了学习组卷积(learned group convolution),大大减少了对冗余特征的利用。首先看提出的模块:中间是训练阶段的condense块,右边是测试阶段的。训练阶段,作者对于输入到1x1学习组卷积的特征图进行学习稀疏连接。filter分组由于是1x1卷积,4D的张量变为...原创 2019-02-27 22:18:02 · 2175 阅读 · 1 评论 -
Pytorch实现DenseNet
论文链接:https://arxiv.org/pdf/1608.06993.pdf顾名思义,DenseNet采用了高密度的跳连结构,对于每一层,使用先前所有层的输出作为输入,该层的输出将作为之后所有层的输入的一部分。因此对于一个dense模块,假设有LLL层,那么存在L(L+1)2\frac{L(L+1)}{2}2L(L+1)直接的连接。dense模块之后会连接一个transition层,...原创 2019-02-19 22:16:48 · 21535 阅读 · 11 评论 -
变分自编码器VAE实现MNIST数据集生成by Pytorch
Recap自编码器:自编码器中,需要输入一个原始图片,原始图片经过编码之后得到一个隐向量,隐向量解码产生原图片对应的图片。在这种情况下,只能生成原图片对应的图片而无法任意生成新的图片,因为隐向量都是原始图片确定的。变分自编码器VAE引入变分自编码器(Variational autoencoder)可以在遵循某一分布下随机产生一些隐向量来生成与原始图片不相同的图片,而不需要预先给定原始图片。为...原创 2019-05-18 17:57:08 · 15114 阅读 · 13 评论 -
pytorch实现SeNet
论文链接:https://arxiv.org/abs/1709.01507 senet的全称为Squeeze-and-Excitation Networks,压缩-激活网络。网络结构FtrF_{tr}Ftr可以看做是对feature-map的transform,将X(H′×W′×C′)X(H^{'}\times W^{'}\times C^{&...原创 2019-04-13 17:34:33 · 15641 阅读 · 16 评论