- 博客(59)
- 收藏
- 关注
原创 从卷积拆分和分组的角度看CNN模型的演化
博客:博客园 | CSDN | blog写在前面如题,这篇文章将尝试从卷积拆分的角度看一看各种经典CNN backbone网络module是如何演进的,为了视角的统一,仅分析单条路径上的卷积形式。形式化方便起见,对常规卷积操作,做如下定义,III:输入尺寸,长HHH 宽WWW ,令长宽相同,即I=H=WI = H = WI=H=WMMM:输入channel数,可以看成是tensor的高KKK:卷积核尺寸K×KK \times KK×K,channel数与输入channel数相同,为MMMN
2020-05-16 09:53:23
951
原创 Inception系列回顾
博客:博客园 | CSDN | blog文章目录写在前面Inception-V1 (GoogLeNet)BN-InceptionInception-V2, V3Inception-V4,Inception-ResNet-v1,Inception-ResNet-v2参考写在前面Inception 家族成员:Inception-V1(GoogLeNet)、BN-Inception、Inception-V2、Inception-V3、Inception-ResNet-V1、Inception-V4、Ince
2020-05-16 09:51:16
789
原创 通俗易懂DenseNet
文章目录写在前面Dense Block与Transition LayerDenseNet网络架构与性能理解DenseNetPlain Net、ResNet与DenseNet参考博客:博客园 | CSDN | blog写在前面在博客《ResNet详解与分析》中,我们谈到ResNet不同层之间的信息流通隐含在“和”中,所以从信息流通的角度看并不彻底,相比ResNet,DenseNet最大的不同之...
2020-02-29 17:47:44
770
1
原创 ResNet详解与分析
文章目录Resnet要解决的是什么问题Residual Block的设计ResNet 网络结构error surface对比Residual Block的分析与改进小结参考博客:博客园 | CSDN | blogResnet要解决的是什么问题ResNets要解决的是深度神经网络的“退化”问题。什么是“退化”?我们知道,对浅层网络逐渐叠加layers,模型在训练集和测试集上的性能会变好,因...
2020-02-29 17:45:34
5031
2
原创 理解numpy中ndarray的内存布局和设计哲学
博客:博客园 | CSDN | blog文章目录ndarray是什么ndarray的设计哲学ndarray的内存布局为什么可以这样设计小结参考本文的主要目的在于理解numpy.ndarray的内存结构及其背后的设计哲学。ndarray是什么NumPy provides an N-dimensional array type, the ndarray, which describes a ...
2020-02-10 22:36:55
1364
1
原创 python中如何查看指定内存地址的内容
博客:博客园 | CSDN | blogpython中一般并不需要查看内存内容,但作为从C/C++过来的人,有的时候还是想看看内存,有时是为了验证内容是否与预期一致,有时是为了探究下内存布局。from sys import getsizeof from ctypes import string_at'''getsizeof(...) getsizeof(object, defa...
2020-02-10 22:33:43
3962
1
原创 计算机视觉中的滤波
文章目录写在前面Padding滤波杂谈参考博客:博客园 | CSDN | blog写在前面在计算机视觉中,滤波(filtering)是指Image filtering: compute function of local neighborhood at each position.—— from CAP5415–Fall 2014-Lecture 2 (08/21/2014)–Fil...
2020-02-10 22:32:37
1030
原创 数字图像处理,计算机视觉,计算机图形学,计算摄影
博客:博客园 | CSDN | blog先上图,下图通过输入输出来区分不同学科。计算机视觉(Computer Vision, CV),输入为图像或图像序列,输出为某种信息或描述,目的在于理解图像,获得语义信息。比如目标识别任务,输入一张图片,输出图中有哪些物体、都在什么位置,典型任务包括检测、识别、分割、定位、追踪、动作识别、OCR等,详见wiki-Computer vision。数字图像...
2020-02-10 22:30:20
1532
1
原创 彻底搞懂感受野的含义与计算
文章目录什么是感受野约定感受野大小感受野中心小结参考博客:博客园 | CSDN | blog什么是感受野The receptive field is defined as the region in the input space that a particular CNN’s feature is looking at (i.e. be affected by).—— A guide ...
2019-12-19 17:52:49
1128
2
原创 远程桌面MATLAB启动失败问题解决
博客:博客园 | CSDN | blog远程桌面打开MATLAB会报错,解决办法,打开matlab的licenses路径,如matlab/R2017b/licenses/,路径下存有license文件,如license_standalone.lic(可能为其他名字),打开文件,在每行如下位置添加TS_OK。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R98Pw...
2019-12-16 15:13:38
1224
原创 直观理解为什么分类问题用交叉熵损失而不用均方误差损失?
文章目录交叉熵损失与均方误差损失损失函数角度softmax反向传播角度参考交叉熵损失与均方误差损失常规分类网络最后的softmax层如下图所示,传统机器学习方法以此类比,一共有KKK类,令网络的输出为[y^1,…,y^K][\hat{y}_1,\dots, \hat{y}_K][y^1,…,y^K],对应每个类别的概率,令label为 [y1,…,yK][y_1, \dots, y...
2019-12-12 22:30:11
4356
4
原创 Batch Normalization详解
文章目录动机单层视角多层视角什么是Batch NormalizationBatch Normalization的反向传播Batch Normalization的预测阶段Batch Normalization的作用几个问题卷积层如何使用BatchNorm?没有scale and shift过程可不可以?BN层放在ReLU前面还是后面?BN层为什么有效?参考博客:blog.shinelee.me |...
2019-12-05 15:30:47
1246
原创 常用数据结构操作与算法复杂度总结
文章目录时间复杂度常用数据结构操作与算法的复杂度输入规模较小时的情况引用博客:blog.shinelee.me | 博客园 | CSDN时间复杂度如何评估一个算法的计算时间?一个算法的实际运行时间很难评估,当时的输入、CPU主频、内存、数据传输速度、是否有其他程序在抢占资源等等,这些因素都会影响算法的实际运行时间。为了公平地对比不同算法的效率,需要脱离开这些物理条件,抽象出一个数学描述。在...
2019-11-22 18:35:01
854
原创 网络权重初始化方法总结(下):Lecun、Xavier与He Kaiming
文章目录权重初始化最佳实践期望与方差的相关性质全连接层方差分析tanh下的初始化方法Lecun 1998Xavier 2010ReLU/PReLU下的初始化方法He 2015 for ReLUHe 2015 for PReLUcaffe中的实现小结参考博客:blog.shinelee.me | 博客园 | CSDN权重初始化最佳实践书接上回,全0、常数、过大、过小的权重初始化都是不好的,...
2019-11-22 09:08:11
2346
1
原创 网络权重初始化方法总结(上):梯度消失、梯度爆炸与不好的初始化
文章目录前向传播与反向传播回顾梯度消失与梯度爆炸激活函数的影响权重矩阵的影响不良初始化参考博客:blog.shinelee.me | 博客园 | CSDN前向传播与反向传播回顾神经网络的训练过程可以简化成以下步骤,输入预处理(feature scaling等)初始化网络weight和bias前向传播,得到网络输出计算损失函数,得到当前损失反向传播,根据链式法则,逐层回传得到损失函...
2019-11-07 09:24:11
2174
1
原创 为什么要做特征归一化/标准化?
文章目录写在前面常用feature scaling方法计算方式上对比分析feature scaling 需要还是不需要什么时候需要feature scaling?什么时候不需要Feature Scaling?小结参考博客:blog.shinelee.me | 博客园 | CSDN写在前面Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚...
2019-11-02 18:29:29
4893
4
原创 直观理解梯度,以及偏导数、方向导数和法向量等
title: 直观理解梯度,以及法向量和切平面mathjax: truedate: 2019-10-17 17:59:53tags:categories:博客:blog.shinelee.me | 博客园 | CSDN写在前面梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法),虽然常说常听常见,但其细节、物理意义以及几何解释还是值得深挖一下,这些不...
2019-10-21 18:05:46
4400
2
原创 如何编译和调试Python内核源码?
文章目录写在前面获取源代码源代码的组织windows下编译CPython调试CPython小结参考博客:blog.shinelee.me | 博客园 | CSDN写在前面如果对Python源码感兴趣,那“窥探”其实现的最佳方式就是调教它,不,调试它。获取源代码Python的官方默认实现为CPython,即C语言实现(主要指解释器的实现,其他实现见Other Interpreter Imp...
2019-10-16 15:26:31
985
1
原创 VGG(2014),3x3卷积的胜利
文章目录写在前面网络结构multi-scale training and testing其他有意思的点参考博客:blog.shinelee.me | 博客园 | CSDN写在前面VGG(2014)网络出自paper《Very Deep Convolutional Networks for Large-Scale Image Recognition》,为ILSVRC2014 localizat...
2019-10-14 20:09:27
690
原创 Network in Network(2013),1x1卷积与Global Average Pooling
文章目录写在前面mlpconv layer实现Global Average Pooling网络结构参考博客:blog.shinelee.me | 博客园 | CSDN写在前面《Network in Network》简称NIN,出自颜水成老师团队,首次发表在arxiv的时间为2013年12月,至20190921引用量为2871(google scholar)。NIN的网络结构仍是在Alex...
2019-10-11 17:56:49
271
原创 ZFNet(2013)及可视化的开端
文章目录写在前面网络架构与动机特征可视化其他参考博客:blog.shinelee.me | 博客园 | CSDN写在前面ZFNet出自论文《 Visualizing and Understanding Convolutional Networks》,作者Matthew D. Zeiler和Rob Fergus——显然ZFNet是以两位作者名字的首字母命名的,截止20190911,论文引用量为...
2019-09-21 15:23:05
279
原创 一文搞懂 deconvolution、transposed convolution、sub-pixel or fractional convolution
文章目录写在前面什么是deconvolutionconvolution过程transposed convolution过程transposed convolution的计算整除的情况不整除的情况总结参考博客:blog.shinelee.me | 博客园 | CSDN写在前面开篇先上图,图为deconvolution在像素级语义分割中的一种应用,直观感觉deconvolution是一个ups...
2019-09-20 21:00:20
1980
1
原创 从AlexNet(2012)开始
文章目录写在前面网络结构创新点其他有意思的点参考博客:blog.shinelee.me | 博客园 | CSDN写在前面本文重点在于回顾深度神经网络在CV领域的First Blood——AlexNet,AlexNet是首个在大规模图像识别问题取得突破性进展的深度神经网络,相比基于SIFT+FVs、稀疏编码的传统方法,性能提升了10多个百分点(error rate 26.2% → 15.3%,...
2019-09-10 12:03:42
781
原创 ImageNet主要网络benchmark对比
实际应用中,如何在速度、内存、准确率等各种约束下选择主干网络?有paper通过对各个网络模型进行对比分析,为这个问题提供了选择指南。这篇博客主要整合了3篇文章的结论,这3篇文章分别是201605-An Analysis of Deep Neural Network Models for Practical Applications201809-Analysis of deep neural...
2019-08-28 19:46:23
3543
1
原创 仿射变换及其变换矩阵的理解
博客:blog.shinelee.me | 博客园 | CSDN文章目录写在前面仿射变换:平移、旋转、放缩、剪切、反射变换矩阵形式变换矩阵的理解与记忆变换矩阵的参数估计参考写在前面2D图像常见的坐标变换如下图所示:这篇文章不包含透视变换(projective/perspective transformation),而将重点放在仿射变换(affine transformation),将介绍...
2019-05-30 17:35:11
7067
原创 B站上传字幕问题解决
B站上传字幕时,如果srt文件中出现如下空行,则会报错,仅上传了空行前的部分于是写了个python脚本,如下:import pysrtimport globsrt_files = glob.glob('./*.srt')for f in srt_files: subs = pysrt.open(f) for sub in subs: if sub.t...
2019-05-23 13:58:33
6533
1
原创 卷积神经网络中的Winograd快速卷积算法
文章目录参考博客:blog.shinelee.me | 博客园 | CSDN图片出自论文Sparse Winograd Convolutional neural networks on small-scale systolic arrays参考arxiv: Fast Algorithms for Convolutional Neural Networksvideo: Fast Alg...
2019-05-22 16:06:01
4388
13
原创 im2col:将卷积运算转为矩阵相乘
博客:blog.shinelee.me | 博客园 | CSDNim2col实现如何将卷积运算转为矩阵相乘?直接看下面这张图,以下图片来自论文High Performance Convolutional Neural Networks for Document Processing:上图为3D卷积的传统计算方式与矩阵乘法计算方式的对比,传统卷积运算是将卷积核以滑动窗口的方式在输入图上滑动,...
2019-04-26 18:03:05
2067
1
原创 Protocol Buffers(3):阅读一个二进制文件
博客:blog.shinelee.me | 博客园 | CSDN这篇文章中,我们将定义一个相对复杂的数据结构,直接分析其序列化后的二进制文件。Proto文件编写tutorial.proto文件,在官方例子上略作修改,增加了float字段,以分析浮点数的存储方式。syntax = "proto2";package tutorial;message Person { require...
2019-04-20 17:34:58
393
原创 Protocol Buffers(2):编码与解码
文章目录Message Structure解码代码一窥varintProtobuf中的整数和浮点数Length-delimited相关类型小结参考Message Structure在上一篇文章中我们提到,对于序列化后字节流,需要回答的一个重要问题是“从哪里到哪里是哪个数据成员”。message中每一个field的格式为:required/optional/repeated FieldTyp...
2019-04-16 15:32:49
715
原创 Protocol Buffers(1):序列化、编译与使用
文章目录序列化与反序列化参考序列化与反序列化序列化(Serialization),是指将数据结构或对象以某种格式转化为字节流(不含与对象相关联的函数,后面只提数据结构),目的是将数据结构的状态保存下来(拍个快照),进而可以保存到文件或通过网络传输。反序列化(Deserialization),是序列化的逆过程,读取字节流,根据约定的格式协议,将数据结构或对象复原。序列化后,可以是二进制文件,...
2019-04-13 16:48:01
489
原创 论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey
写在前面paper:https://arxiv.org/abs/1809.02165github:https://github.com/hoya012/deep_learning_object_detection,A paper list of object detection using deep learning这篇paper对深度学习目标检测2014至201901取得的进展进行综述,包...
2019-02-14 18:19:17
426
原创 单变量微分、导数与链式法则
微分(Differential,differentiation, differential calculus),意味着求导数。令y=f(x)y = f(x)y=f(x),即yyy是xxx的函数,xxx的变化将引起yyy的变化,xxx的变化量△x\triangle x△x导致yyy变化△y\triangle y△y导数(Derivative),是对变化率的衡量,导数也是函数,衡量每个位置处的变...
2019-01-26 18:33:46
926
原创 Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution
博客:blog.shinelee.me | 博客园 | CSDNGroup Convolution分组卷积,最早见于AlexNet,就是2012年Imagenet的冠军方法,Group Convolution被用来将切分网络,使其在2个GPU上并行运行,AlexNet网络结构如下:在介绍Group Convolution前,先回顾下常规卷积加粗样式是怎么做的。如果输入feature map尺...
2019-01-09 10:57:30
7398
6
原创 VSCode Python开发环境配置
准备工作anaconda安装,官网下载安装,笔者安装在"D:\Anaconda3"安装好之后,查看环境变量path中是否有如下路径,没有的话添加进去D:\Anaconda3D:\Anaconda3\Scriptsgit安装,官网下载安装,默认安装路径"C:\Program Files\Git"vscode安装,官网下载安装,VSCode初步查看Visual Studio ...
2019-01-07 17:14:09
2886
原创 Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe
文章目录准备工作设置conda国内镜像源conda 深度学习环境tensorflow、mxnet、pytorch安装tensorflowmxnetpytorchCaffe安装配置文件修改编译时常见错误参考GPU为RTX2080,系统为更新到最新版本的Win10。准备工作安装VS2015,到官网地址older-download下载安装安装Matlab,笔者安装的是Matlab2017b安...
2018-12-26 17:42:49
4267
7
原创 真win10官方原版ISO下载方法
网上太多打着官方原版ISO旗号,下载下来捆绑了各种“流氓”软件,笔者深受其害。这篇文章将讲述如何获取真·官方原版ISO方法。
2018-12-24 20:27:20
94737
21
原创 我的Windows装机必备软件与生产力工具
2018年12月21日,最近要装新电脑,借此将自己常用的工具总结一下。系统工具wox,软件快速启动工具,有翻译等插件everything,本地文件文件夹快速检索工具ditto,剪贴板增强工具,缓存剪切历史Total Commander 飞扬时空版,文件管理软件,替代系统资源管理器,有众多特色功能CCleaner,系统优化清理软件Rapid Environment Editor,环境...
2018-12-21 18:19:15
3326
原创 Caffe源码理解3:Layer基类与template method设计模式
博客:blog.shinelee.me | 博客园 | CSDN文章目录写在前面参考写在前面参考Blobs, Layers, and Nets: anatomy of a Caffe model
2018-12-19 16:53:43
298
2
原创 MTCNN算法与代码理解—人脸检测和人脸对齐联合学习
博客:blog.shinelee.me | 博客园 | CSDN文章目录写在前面算法Pipeline详解如何训练损失函数训练数据准备多任务学习与在线困难样本挖掘预测及代码参考写在前面主页:https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html论文:https://arxiv.org/abs/1604.028...
2018-12-13 18:12:19
1217
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人