
深度学习
文章平均质量分 82
Shwan_Ma
模式识别小硕,向大牛看齐!
展开
-
【Caffe】从C++的角度源码剖析深度学习框架Caffe -- Blob篇
写在前面本系列所剖析的caffe源码来自于master分支, commit: 9b891540。本系列不会特别着重于深度学习的网络层构造的实现方式,而是从工程角度看C++的语言特性及设置。首先介绍一下caffe的代码布局:头文件放在: include //文件夹而源文件则在: src/caffe/ //文件夹这种设置的原因很简单,src文件的源码会被编译成库去被调用,而头文件的存在则作为api提供。Blob类Blob.hpp1. 尽量以Const, enum, inline, 替换原创 2021-06-27 16:06:29 · 822 阅读 · 3 评论 -
【TensorRT】tensorRT 7.0的安装配置
前几天老黄发布了tensorRT 7.0, 对于模型服务器部署来说,tensorRT是真的香啊。先放官网链接,https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html。先介绍一下TensorRTTensorRT的核心就是一个深度学习的高性能C++的推理库, 基本适配主流的训练框架,如Tensorfl...原创 2019-12-20 20:02:24 · 20654 阅读 · 11 评论 -
【深度学习】多版本的Cuda及Cudnn的切换
1. cuda的切换cuda的切换比较简单,无需删除之前的cuda,只要修改软连接的指向即可rm -rf /usr/local/cuda#删除之前创建的软链接sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda查看是否切换成功;nvcc --version #查看当前 cuda 版本2. cudnn的切换cudnn的切换与安装一致,只要把c...原创 2019-10-11 20:42:12 · 990 阅读 · 3 评论 -
【深度学习】深度学习优化算法总结
在开玩笑的时候,我们自称研究深度学习的人为炼丹师。所谓炼丹,就是拿到同一种丹药的配方,可能炼出来的丹药的效果也是不一样的。深度学习也是如此,同一种模型,采取不同的优化策略,所得到的结果往往不同。在探究深度学习算法的优化策略过程中,人们大概经历过以下几个阶段: SGD-> Momentum -> Nesterov -> Adagrad -> RMSProp -> Ad...原创 2018-04-15 19:53:25 · 2690 阅读 · 1 评论 -
【深度学习】关于CNN网络的FLOPs的计算
在评估一个CNN网络的计算复杂度时,浮点数运算(float point operation)是一个常用的衡量指标。在常规的计算中,通常不考虑非线性函数的计算量(the nonlinearity),对于卷积操作:FLOPs=2∗(HWCinK2+1)Cout=2∗(HWK2CinCout+Cout)FLOPs = 2*(HWC_{in}K^{2}+1)C_{out} \\=2*(HWK^{2}...原创 2018-12-09 12:00:19 · 12925 阅读 · 2 评论 -
【深度学习】Weight Normalization: 一种简单的加速深度网络训练的重参数方法
前言:为什么要Normalization深度学习是一种在给定数据的情况下,学习求解目标函数最小化或者最大化的模型。在深度网络中,模型参数往往包含了大量的weights和biases。在求解优化模型的时候,通常是利用一阶梯度的求解来更新网络的权重。众所周知,优化深度网络时需要通过计算一阶梯度,而目标函数的曲率会极大的影响优化的难易度。如果目标函数的Hessian矩阵的条件数太低,将会表现出一种病...原创 2018-12-28 15:33:18 · 12925 阅读 · 1 评论 -
【深度学习】如何理解以add的方式融合特征
在各个网络模型中,ResNet,FPN等采用的element-wise add来融合特征,而DenseNet等则采用concat来融合特征。那add与concat形式有什么不同呢?事实上两者都可以理解为整合特征图信息。只不过concat比较直观,而add理解起来比较生涩。add与concat的特征融合形式从图中可以发现,concat每个通道对应着对应的卷积核。而add形式则将对应的特征...原创 2018-12-30 15:15:15 · 7582 阅读 · 2 评论 -
【深度学习】两篇关于CNN及DNN的反向传播的文章【转】
发现网上只有这个博主对反向传播的理解比较深刻到位:关于DNN的反向传播:http://www.cnblogs.com/pinard/p/6422831.html关于CNN的反向传播https://www.cnblogs.com/pinard/p/6494810.html...转载 2019-01-02 15:24:40 · 326 阅读 · 0 评论 -
【深度学习】卷积神经网络的可视化---Visualization by activation Maximization
The Overview:Activation Maximization (AM)是用来可视化各个卷积层的输入偏好。 通过观测输入偏好,我们可以更好的了解CNN的卷积层到底学习到了什么。卷积学习得到的特征可以通过一帧合成图像来最大化神经元的激活。为了合成这个输入偏好,我们可以通过对CNN的输入像素进行反复迭代来最大化神经元的激活。换言之,我们可以通过合成一个输入样式来激活神经元,使得神经元激活...原创 2019-02-26 10:41:30 · 3919 阅读 · 0 评论 -
【深度学习】pretrained model预训练模型下载地址
tensorflow slim的预训练模型下载地址:https://github.com/tensorflow/models/tree/master/research/slimkeras的预训练模型下载地址:https://github.com/fchollet/deep-learning-models/releases/...原创 2019-03-16 16:57:38 · 7734 阅读 · 0 评论 -
【深度学习】关于Inceprion v3网络对应的1001个类别
此处注意,很多模型是1000类,而inception v3是1001类,inception v3网络在原始的1000类中加入了0 空白背景类。0 background 背景1 tench, Tinca tinca 丁鲷2 goldfish, Carassius auratus 金鱼3 great white shark, white shark, man-eater, man-eating...原创 2019-03-17 20:22:52 · 9958 阅读 · 0 评论 -
【深度学习】Inception的前世今生(四)--Inception V4,Inception-ResNet
Inception的系列文章: 1. Inception v1 -《Going deeper with convolutions》 https://arxiv.org/abs/1409.4842 2. Inception v2 - 《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Cov原创 2017-10-26 15:07:05 · 3236 阅读 · 0 评论 -
【深度学习】Inception的前世今生(一)--GoogLeNet
论文名称《Going Deeper with Convolution》 论文链接:https://arxiv.org/abs/1409.4842在2014年ILSVRC比赛上,GoogleNet 用了仅仅是AlexNet的12%的参数量,却拿到了分类top-5的第一名。在之前的深度学习网络的设计中,会存在两个重要缺陷: 1) 更深更宽的网络模型会产生巨量参数 2) 网络规模的加大会极大的增加计原创 2017-12-29 16:42:17 · 2295 阅读 · 1 评论 -
【深度学习】Loss Functions for Neural Networks for Image Processing
在目前的深度学习中,业界主流主要还是把调整深度学习网络结构作为主要的工作重心,即使损失函数(loss functions)对整个网络的训练起着十分重要的作用。Nvidia和MIT最近发了一篇论文《loss functions for neural networks for image processing》则详细探讨了损失函数在深度学习起着的一些作用。通过对比L1,L2,SSIM,MS-SSI...原创 2018-01-14 11:25:23 · 5160 阅读 · 0 评论 -
【深度学习】深度学习权重初始化
本文对CS231中的Training Neural Networks的权重更新部分进行记录权重的初始化在深度神经网络中起着比较大的重要,算是一个trick,但在实际应用上确是个大杀器。1. 如果一开始把网络中的权重初始化为0,会发生什么?因为权重初始为0, 由于网络中的神经元的更新机制完全相同,由于网络的对称性,会产生各个layer中产生相同的梯度更新,导致所有的权重最后值相同,收敛会...原创 2017-07-28 14:58:22 · 6519 阅读 · 0 评论 -
【深度学习】Network In Network--在CNN中构建MLP
论文名称:《Network in Network》 论文地址: https://arxiv.org/abs/1312.4400对于1x1卷积核的应用,大家可能对GoogeLenet的Inception中1x1的印象会更深刻一点,在Inception结构中,1x1卷积核起着降维的作用,来降低3x3,5x5卷积核的计算量。 事实上,1x1卷积核在2015的ResNet中也有被用到,其中1x1卷积核不原创 2017-11-09 15:18:16 · 1379 阅读 · 0 评论 -
【深度学习】windows下查看显卡使用情况
命令:nvidia-smi第一种方法: 只要在文件夹C:\Program Files\NVIDIA Corporation\NVSMI里找到文件nvidia-smi.exe,把该文件拖到命令提示符窗口(win+R,再输入‘CMD’进入)第二种方法: 将路径C:\Program Files\NVIDIA Corporation\NVSMI添加到PATH中,之后,就可以随便打开cmd原创 2017-10-24 16:00:10 · 11967 阅读 · 1 评论 -
【深度学习】感受野的计算
感受野在深度学习中的作用无需多言,计算感受野在设计网络时起着很重要的作用。下面简单介绍下感受野的计算规则:感受野(receptive field)的计算: RF = 1 for layer in reversed(range(layernum)): fsize, stride, pad = net[layer] RF= ((RF-1)*...原创 2017-11-06 16:24:03 · 2112 阅读 · 0 评论 -
【深度学习】入门理解ResNet和他的小姨子们(一)---ResNet
2015年由He KaiMing 大神 提出的ResNet现在是一种经典模型。在这之前,虽然VGG的深度已经高达19层了,但是152层的ResNet真的让我们目瞪口呆。首先,我们要问一个问题: Is learning better networks as easy as stacking more layers?很显然不是,原因有二。 一,vanishing/exploding gradient原创 2017-10-06 09:50:33 · 29456 阅读 · 3 评论 -
【深度学习】入门理解ResNet和他的小姨子们(二)---DenseNet
文章名称:《Densely Connected Convolutional Networks》 论文链接:https://arxiv.org/abs/1608.06993 代码链接:https://github.com/liuzhuang13/DenseNet这篇文章厉害了,继He Kaiming的ResNet(2015)之后,又一篇让人惊艳的文章。毕竟是CVPR2017的best paper,原创 2017-10-06 16:50:58 · 18938 阅读 · 0 评论 -
【深度学习】入门理解ResNet和他的小姨子们(三)---ResNeXt
文章名称《Aggregated Residual Transformations for Deep Neural Networks》 文章链接:https://arxiv.org/abs/1611.05431其实ResNeXt这个网络结构严格说起来应该不算ResNet的小姨子,因为这是亲儿子啊,哈哈哈。自从KaiMing大神离开MSRA去了FaceBook之后,就跟RBG大神坐到了一起,这篇的文章原创 2017-10-11 14:08:23 · 15290 阅读 · 6 评论 -
【深度学习】入门理解ResNet和他的小姨子们(四)---WideResNet
文章全称:《Wide Residual Networks》 文章链接:https://arxiv.org/abs/1605.07146ResNet的成功在深度学习上有着不可磨灭的地位,但是往往为了增加一点精度,就得增加大量的网络层。非常深的网络往往会出现diminishing feature reuse,这往往会导致网络的训练速度会变得相当的慢。为了解决这个问题,本文提出了wide ResNet以原创 2017-11-11 10:24:41 · 20133 阅读 · 4 评论 -
【深度学习】入门理解ResNet和他的小姨子们(五)---ResNet增强版
论文名称:《Identity Mappings in Deep Residual Networks》 code: https://github.com/KaimingHe/resnet-1k-layers这个版本的ResNet应该算是2015 ImageNet上的ResNet的加强版。作者通过探究Identity Mapping来使得网络变得更容易训练,并且能够提高其网络泛化能力模型对比:这里插一原创 2017-11-21 19:52:10 · 7980 阅读 · 0 评论 -
【深度学习】Inception的前世今生(三)--Inception V3
论文题目:《Rethinking the Inception Architecture for Computer Vision》 论文链接:https://arxiv.org/abs/1512.00567自从2014年GoogLeNet在ImageNet上,取得了第一名的成绩后,Inception结构就开始吸引到人们的关注。Inception在参数量上远小于AlexNet,且错误率在Top5上却只原创 2017-10-24 10:36:09 · 4957 阅读 · 1 评论 -
【深度学习】深度学习中常用的激活函数
近来研究深度学习,发现里面的trick很多,特地用blog记录下,以免以后忘掉 本文主要介绍常用的的激活函数, Sigmoid, tanh, Relu, Leaky relu Sigmoid激活函数sigmoid函数在历史上很受欢迎,因为他很符合神经元的特征, 优点是: 能够把输出控制在[0,1]之间, 直观 缺点是:1)他的饱和区和未激活区的梯度均为0,容易造成梯度弥散,比如x = 10时和原创 2017-07-28 13:44:38 · 2337 阅读 · 0 评论