深度学习入门
文章平均质量分 79
NCU_wander
这个作者很懒,什么都没留下…
展开
-
Cannot load cudnn shared library. Could not load library libcudnn_ops_infer.so.8.
是我们在配置环境时经常遇到的错误,我们需要进行链接配置解决具体问题。原创 2023-03-22 09:15:36 · 1070 阅读 · 0 评论 -
模型压缩- 剪枝/量化/蒸馏/AutoML
原因深度学习训练得到的网络复杂度高,参数冗余。解决方式(1)线性或非线性量化(2)结构或非结构剪枝(3)网络结构搜索(4)权重矩阵的低秩分解(5)蒸馏目的优化精度、性能、存储……使得可以在一些场景和设备上进行相应模型的部署。...原创 2022-09-01 10:58:00 · 301 阅读 · 0 评论 -
BM3D、域变换与Non-Local
近期在了解Non-local相关知识,之前对Non-local学习的不够深入,这一次算是了解的更为全面一些,在此予以总结和记录。BM3D作为一款非常经典的图像去噪算法,可以从其中学习到非常多的可以应用在深度学习领域的idea。借助于文章传统图像降噪算法之BM3D原理详解 我们一起学习一下BM3D算法的内核与精神。BM3D 主要用于去除图像中的加性高斯白噪声(Additive White Gaussian Noise, AWGN)。这里主要涉及三个概念:加性:即噪声其对原始信号的影响可表示为线性叠加。对于原创 2022-07-08 14:14:24 · 1096 阅读 · 0 评论 -
深度学习正则化(L1 norm/L2 norm)以及dropout理解
正则化知识其实是深度学习领域较为基础的知识点,初入此门的时候受限于正则化三个字的逼格,一直不求甚解;后期虽然了解但也仅限于L1和L2范数而已。恰巧上周在谢毅博士的课上旁听,讲到多拟合相关知识,后续和捷文讨论transformer内部的dropout为何还广泛使用,由此总结下正则化相关内容。1、何为正则化首先看百度百科的一部分解释:正则化就是对最小化经验误差函数上加约束,这样的约束可以解释为先验知识(正则化参数等价于对参数引入先验分布)。约束有引导作用,在优化误差函数的时候倾向于选择满足约束的梯度减少的方原创 2022-05-19 18:11:55 · 2554 阅读 · 2 评论 -
空间金字塔
空间金字塔是一个非常常见的网络结构,在之前的上色任务中,郭伟伟一直想让我花时间做一些有关于空间金字塔的实验,当时对空间金字塔了解不深,当然现在可能也只是浅尝辄止。空间金字塔结构可以理解为coarse-to-fine的逐步变换过程,在特征提取的维度可以说是充分利用了在大图片上分辨细节,在小图片上提取宏观维度的特征,达到了可变感受野地效果;同时resize之后的小图也会不断重复的输入空间金字塔子模块,可以说充分的利用了原始的input信息。从模拟人的角度出发,首先从尺度空间开始理解:找一张原分辨率1024×原创 2021-12-21 16:23:23 · 2682 阅读 · 0 评论 -
Deformable-convolution--可变形卷积
在目前的视频超分研究中,可变形卷积应用效果得到了非常大的认可,在与传统光流或者深度学习光流网络计算光流的直接pk中,因为其直接在特征域计算对齐的特性,在EDVR等网络实践中效果更佳。1. 原文解读Deformable Convolutional Networks-PDFDeformable Convolutional Networks-slides1.1 背景在计算机视觉领域,同一物体在不同场景,角度中未知的几何变换是检测/识别的一大挑战,通常来说我们有两种做法:(1)通过充足的数据增强,扩充足原创 2021-11-25 18:08:41 · 3522 阅读 · 0 评论 -
Optical-flow和grid-sample和可变形卷积
1.摘要随着计算机视觉学界从图像理解转向视频理解,互联网用户从发布图片朋友圈转向发布短视频,人们对视频的研究和应用的关注不断增强。光流估计作为视频理解的隐形战士,等着我们去寻找其踪迹。 本文首先介绍了什么是视频光流估计;再介绍光流估计的算法原理,包括最为经典的Lucas-Kanade算法和深度学习时代光流估计算法代表FlowNet/FlowNet2;最后,介绍了视频光流估计的若干应用。希望对光流估计的算法和应用有个较为全面的介绍。2.介绍光流,顾名思义,光的流动。比如人眼感受到的夜空中划过的流星。在计原创 2021-10-13 18:23:47 · 1744 阅读 · 0 评论 -
Focal loss 和 GHM
Focal Loss for Dense Object Detection 是ICCV2017的Best student paper,文章思路很简单但非常具有开拓性意义,效果也非常令人称赞。GHM(gradient harmonizing mechanism) 发表于 “Gradient Harmonized Single-stage Detector",AAAI2019,是基于Focal loss的改进,也是个人推荐的一篇深度学习必读文章。1、Focal LossFocal Loss的引入主要是为了原创 2021-10-12 18:03:09 · 547 阅读 · 0 评论 -
卷积padding和反卷积原理探究
反卷积(Deconvolution)的概念第一次出现是Zeiler在2010年发表的论文Deconvolutional networks中,但是并没有指定反卷积这个名字,反卷积这个术语正式的使用是在其之后的工作中(Adaptive deconvolutional networks for mid and high level feature learning)。随着反卷积在神经网络可视化上的成功应用,其被越来越多的工作所采纳比如:场景分割、生成模型等。其中反卷积(Deconvolution)也有很多其他的叫原创 2021-09-14 11:26:19 · 1438 阅读 · 0 评论 -
torch.Tensor的4种乘法
torch.Tensor有4种常见的乘法:*, torch.mul, torch.mm, torch.matmul。本文抛砖引玉,简单叙述一下这4种乘法的区别,具体使用还是要参照官方文档。点乘a与b做*乘法,原则是如果a与b的size不同,则以某种方式将a或b进行复制,使得复制后的a和b的size相同,然后再将a和b做element-wise的乘法。标量Tensor与标量k做*乘法的结果是Tensor的每个元素乘以k(相当于把k复制成与lhs大小相同,元素全为k的Tensor)。>>转载 2021-08-12 09:46:20 · 859 阅读 · 0 评论 -
Pytorch退火学习率和num_wrokers
在训练deeplabv3+的语义分割网络过程中遇到了加速训练以及退火学习率的应用,在本文中对相关知识进行记录,防止后面会有忘记。1、退火学习率在训练神经网络时,一般情况下学习率都会随着训练而变化,这主要是由于,在神经网络训练的后期,如果学习率过高,会造成loss的振荡,但是如果学习率减小的过快,又会造成收敛变慢的情况。因此,如何调整学习率也是一个值得讨论的问题。目前,比较常见的学习率退火方式有如下三种:随步数衰减比较常见的随步数衰减方式是每经过5个epoch学习率减小为一半,或者每经过20个epoc原创 2020-11-06 10:53:55 · 246 阅读 · 0 评论 -
由Super初始化展开的深度学习forward问题
最近在改写网络的过程中,发现自己对于super()继承的概念掌握的不清楚,引发了网络训练的相关似是而非的问题,有意思的是到目前位置这些问题仍然有待于理清。另外本次完成关于深度学习网络的第一次改写,整体还是比较顺利的,但是也暴露出对于深度学习库相关语法的不熟悉,有待进一步加强掌握。1、super及其背后的类继承方法1.1 super与单继承、多继承super() 函数是用于调用父类(超类)的一个方法。而且:Python3.x 和 Python2.x 的一个显著区别是:Python 3 可以使用直接使用原创 2020-10-16 10:45:00 · 668 阅读 · 0 评论 -
pytorch中-pretrain模型-引用与修改
在深度学习的网络中,我们发现使用pretrain网络有利于整个的网络初始搭建,已训练好的模型参数可以提高网络的训练速度,甚至在一定程度上提高网络的效果。Pytorch作为深度学习对新手最为有好的框架,有很多方便易用的包。其中torchvision就是视觉方面不可或缺的包。其中包含三个方面: torchvison.datasets ,torchvision.models ,torchvision.transforms ,分别是预定义好的数据集(比如MNIST、CIFAR10等)、预定义好的经典网络结构(比如原创 2020-09-10 21:24:02 · 1331 阅读 · 0 评论 -
pytorch-cuda与todevice
一般的代码都是在GPU上运行,所以对相关模型与变量在CPU与GPU之间进行是十分必要的。转换的过程中经常可以见到两种格式,在此对这两种格式进行分析与总结。1、.cuda()一般的可以对模型和相应的数据使用.cuda()处理,这种方式可以将内存中的数据复制到GPU的显存中去。.cuda() 操作默认使用GPU 0也就是第一张显卡来进行操作。当我们想要存储在其他显卡中时可以使用 .cuda(<显卡号数>) 来将数据存储在指定的显卡中。对于不同存储位置的变量,我们是不可以对他们直接进行计算的。存原创 2020-05-14 21:21:24 · 2459 阅读 · 0 评论 -
深度学习常用数据集整理-随时更新
深度学习算法的效果离不开高质量数据集,因此在此对项目中用到的经典数据集进行梳理,本帖长期更新。1、TID2008TID2008是由乌克兰国家航空航天大学的N504信号接收、传输与处理系建立,包括25幅参考图像,四种不同变换幅度,1700幅失真图像。失真类型有17种包括:加性高斯噪声、颜色分量强于照明分量的加性噪声、空间位置相关噪声、掩膜噪声、高频噪声、脉冲噪声、量化噪声、高斯模糊、图像噪声、J...原创 2020-10-16 15:38:27 · 2717 阅读 · 0 评论 -
基于分块输入引发的感受野思考
近期在download网络模型希望直接使用的时候,发现网络只能支持小图;因此希望通过分块输入的方式来解决这个问题。分块输入会引入感受野的问题,这个问题势必需要得到良好的解决。1、感受野本部分主要来自关于感受野介绍的神作 A guide to receptive field arithmetic for Convolutional Neural Networks神作用了很多的计算工作和图形图像...原创 2020-03-27 15:45:16 · 252 阅读 · 0 评论 -
GAN(生成对抗网络)发展
引言:之前对GAN进行相关的介绍,并在组内进行分享;但之前的分享比较偏向于GAN的前世,对于GAN的今生关注的程度不高,本文重点对GAN的今生进行梳理。GAN的今生GAN的前世之前进行过相关总结,在此不再进行赘述,具体可以观看李弘毅老师的讲课视频,深入浅出;Goodfellow在写成 Geneative adversarial nets 这一划时代的大作的时候自然是留了为数众多的坑代填,后来...原创 2020-03-16 21:29:36 · 1478 阅读 · 0 评论 -
depthwise convolution/深度可分离卷积
在有关于前面的全卷积全连接网络的查询中,需要对计算量参数量进行了解,由此引申到深度可分离卷积对参数量的巨幅消减。在本文中对此进行总结。综述:Depthwise Separable Convolution主要思想是对传统卷积做了一个分解:将传统卷积分成depthwise和pointwise两步来完成。其中depthwise就是对输入特征的每一层的feature map仅仅单独使用一个filter...原创 2020-02-19 22:18:38 · 2033 阅读 · 0 评论 -
CNN kernel与模型参数量、计算量
CNN基础知识不牢固,总是会有一些理解不透彻的问题与地方。在此集中对kernel的参数、卷积过程以及channel进行回顾性总结理解。1、卷积过程基本概念本部分我在CSDN博客 第一部分有针对卷积过程的基本叙述,但是事实上长期不回顾就会有遗忘与不理解,重点还是要时时温故而知新,并且需要对基础知识弟子打牢。feature map在cnn的每个卷积层,数据都是以三维形式存在的。你可以把它看成许......原创 2020-02-19 17:49:05 · 1662 阅读 · 1 评论 -
Tensorflow 模型文件的结构、模型中Tensor查看
初次涉及Tensorflow 模型,转载自https://blog.csdn.net/c20081052/article/details/82961988深度学习网络训练后保存的模型主要包含两部分,一是网络结构的定义(网络图),二是网络结构里的参数值。Tensorflow作为深度学习框架的一种,未能免俗。save后留存的文件格式.meta文件.meta 文件以 “protocol buff...转载 2020-01-09 10:34:54 · 817 阅读 · 0 评论 -
对Dilated Convolution的理解
Dilated convolution 一般译作空洞卷积或者膨胀卷积,在图像修复任务 Generative Image Inpainting with Contextual Attention一文中作者使用了此方法,并这么给出解释:In image inpainting tasks, the size of the receptive fields should be sufficiently l...原创 2020-01-07 17:06:38 · 443 阅读 · 0 评论 -
channel attention机制
最近在看RCAN论文,发现channel attention机制很有趣;之前经常听说CA机制,但是并没有花时间去学习,现在趁着这个机会学习下CA的相关机制与理论。本质上,channel attention是一个比较简单的理论;只是在网络学习好的权重之外根据一定的规则对权重进行二次加权。CA也属于Attention的一种。Attention Mechanism可以帮助模型对输入的X每个部分赋予不同...原创 2019-12-27 16:05:52 · 8174 阅读 · 3 评论 -
风格转化及其Loss
风格转换及其Loss的问题来源于自己之前对于CVPR2019论文的分享,牵扯到风格转换的相关知识,在此进行相关总结。风格转换问题常见Losscontent loss: 使用逐像素计算差值,又称pixel-wise loss,追求生成的图片和原始的图片逐像素的差值尽可能的小;很多时候会使用mse(mean square error)来作为损失函数。style loss:经常借助于Gram矩阵定...原创 2019-12-24 14:59:50 · 3508 阅读 · 0 评论 -
VAE与后验分布、先验分布
坦白来说感觉Unet与VAE其实很相似,Unet的skip connection可能稍微有点不太一样。然后你细细品究,会发现哎这个Unet和FCN的精神内核竟然也有几分神似,感觉也是有几分神似的境界在里面。这块知识点也是需要总结的,非常需要总结。...............原创 2019-12-06 17:34:22 · 2436 阅读 · 1 评论 -
超分概念集锦
超分概念超分辨率(Super Resolution,SR),与超分相对应的是低分辨率图像(Low Resolution,LR),以及经常作为Ground Truth的高分辨率图像(High Resolution, HR)。超分辨率是一项底层图像处理任务,将低分辨率的图像映射至高分辨率,以期达到增强图像细节的作用。图像模糊不清的原因有很多,比如各式噪声、有损压缩、降采样……超分辨率是计算机视觉的......原创 2019-08-04 21:59:10 · 9816 阅读 · 0 评论 -
CNN网络知识整理
假定当前输入图片大小为224x224x3(rgb三通道),输出是32位深度,卷积核尺寸为5x5。那么我们需要32个卷积核,每一个的尺寸为5x5x3(最后的3就是原图的rgb位深3),每一个卷积核的每一层是5x5(共3层)分别与原图的每层224x224卷积,然后将得到的三张新图叠加(算术求和),变成一张新的feature map。 每一个卷积核都这样操作,就可以得到32张新的feature map......原创 2020-11-07 15:55:49 · 1792 阅读 · 0 评论