8 tostq

尚未进行身份认证

邮箱:tostq216@163.com

等级
博文 88
排名 9k+

【用Python学习Caffe】8. 网络结构的权重共享量化

8.网络结构的权重共享量化网络权重共享量化也是一类重要的网络压缩方法,其本质在于先通过聚类方法得到该层权重的聚类中心,然后通过聚类中心值来表示原权重值。因此权重值并不是由32位的浮点数来表示,而是由其对应的聚类中心的序号表示,如果聚类级别为8位,此时权重值只需要用8位就能表示。对于网络权重量化也有三个问题:量化级别的确定,同修剪率一样,可以通过试错的试验的方法来确定量化后网络重新训练问题量化

2017-06-22 22:28:01

【用Python学习Caffe】7. 网络结构的修剪

7.网络结构的修剪网络结构的压缩是近年来研究热点,接下来的两节,我们将介绍DeepCompression的两个策略网络修剪和网络权重共享量化的实现方法,我们通过mnist的LeNet5作为例子,而其他网络的实现也是类似的。关于DeepCompression的原理,可以参见其论文:HanS,MaoH,DallyWJ.Deepcompression:Compressingdee

2017-06-22 22:23:06

【用Python学习Caffe】6. 权重预设、预训练及微调

6.权重预设、预训练及微调通过上一节,我们将得到solver文件,得到该文件后,进行网络的训练及测试将变得非常简单。在通过solver=caffe.SGDSolver(solver_proto)初始化解决器后,训练一般有两种方式,一是通过solver.solve()直接进行训练,二是通过solver.step(1)进行单步训练。6.1solver直接训练及单步训练ifi

2017-06-22 22:19:16

【用Python学习Caffe】5. 生成solver文件

5.生成solver文件网络训练一般是通过solver来进行的。对于caffe来说,其是通过solver文件来生成solver训练器进行网络训练及测试的,该solver文件中包含了训练及测试网络的配置文件的地址,及相关训练方法及一些训练的超参数,该文件一般不是很大,可以直接在一些solver.prototxt文件上更改。也可以通过Python结合caffe_pb2.SolverParameter(

2017-06-22 22:17:28

【用Python学习Caffe】4. 设计自己的网络结构

4.设计自己的网络结构通过前文的例子,我们都知道了Caffe的网络都是一个prototxt的网络结构配置文件定义的,该文件可以用文本工具打开,打开后,我们可以看到如下结构:layer{name:"data"type:"Data"top:"data"top:"label"transform_param{

2017-06-22 22:15:50

【用Python学习Caffe】3. 图像训练测试数据集LMDB的生成

3.图像训练测试数据集LMDB的生成Caffe深度学习网络在训练和测试中所使用的的数据集,并不是一张张的图像,而将图像集打包成LMDB或者LevelDB的数据库形式,这样做好处是能提高读取图像的时间。而本节的目的在于介绍如何将图像数据生成可用于测试和训练LMDB格式的数据集。3.1原始图像的采集可以通过爬虫等方法从互联网中获得许多张图像(图像格式不限,JPG或者PNG都是可以的)然后将所有图

2017-06-22 22:12:38

【用Python学习Caffe】2. 使用Caffe完成图像目标检测

2.使用Caffe完成图像目标检测本节将以一个快速的图像目标检测网络SSD作为例子,通过PythonCaffe来进行图像目标检测。必须安装windows-ssd版本的Caffe,或者自行在caffe项目中添加SSD的新增相关源代码.图像目标检测网络同图像分类网络的大体原理及结构很相似,不过原始图像再经过深度网络后,并不是得到一组反映不同分类种类下概率的向量,而得到若干组位置信息,其反映不

2017-06-22 22:08:21

【用Python学习Caffe】1. 使用Caffe完成图像分类

1.使用Caffe完成图像分类本节将以著名的图像分类深度学习网络AlexNet为例子,通过PythonCaffe来进行图像分类。虽然不同的网络的结构是不样的,但其大体的过程都是一致的,因此大家可以通过这个例子,熟悉如何利用Caffe进行图像分类。关于AlexNet的原理,可以参见其论文:KrizhevskyA,SutskeverI,HintonGE.Imagenetclassif

2017-06-22 22:01:47

【用Python学习Caffe】0. 前言及介绍

0.前言及介绍老实说现在的Caffe已经不够流行了(说到这里,我有点无力了,近年来深度学习发展实在是太快了,完全跟不上学习脚步了,刚刚Caffe有点了解后,马上就要跟不上时代了=_=||)。如果对于现在的我来说,我更愿意推荐去学习Tensorflow或者是Pytorch,甚至是Caffe2。因为这些框架都有大公司参与开发,相关的学习资料更全,前段时间刚上手Tensorflow,个人感觉开发起来要比C

2017-06-22 21:50:15

【深度剖析HMM(附Python代码)】5. 用HMM解决三个实际问题

经过上几节的学习,相信大家对HMM都有了比较深的了解,这一节我们通过几个实际例子(丢骰子问题、中文分词问题及股票预测问题)来进一步讲解HMM1.丢骰子问题具体代码参见:Dice_01.py丢骰子问题描述:假设六面骰、四面骰和八面骰各三枚,每次丢一枚骰子,记录骰子朝上的数字。多次丢骰子后,得到了一串数字,问:        A.求每次丢的骰子的种类(问题1)

2017-04-27 17:57:30

【深度剖析HMM(附Python代码)】4.HMM代码测试及hmmlearn介绍

相信经过上几节的说明,大家对于HMM应该有比较好的了解,也许大家已经自己试着运行代码了。这一节主要介绍下另一个著名的HMM的Python库——hmmlearn,这个库提供了三个HMM模型(高斯HMM、离散HMM及高斯混合HMM),比我的代码速度更快,而且更有稳定,而且其还提供了相应的教程和API函数说明:http://hmmlearn.readthedocs.io/en/latest/inde

2017-04-27 14:35:54

【深度剖析HMM(附Python代码)】3.隐马尔科夫链所解决的问题

通过隐马尔科夫链,有以下几方面功能:1. 解码问题 已知某一序列,找到最可能的隐藏状态序列(即所谓的解码问题,利用维比特算法来解决)解码过程的相关python代码defdecode(self,X,istrain=True):"""利用维特比算法,已知序列求其隐藏状态值:paramX

2017-04-27 13:51:53

【深度剖析HMM(附Python代码)】2.隐马尔科夫链HMM的EM训练过程

隐马尔科夫链HMM的参数θ的EM训练过程现在回到前一节最后提出的参数θ的最大似然函数上来,先对其做个对数变换,做对数变换是考虑到序列X的概率计算公式中包含了连乘,为了方便计算同时避免序列X的概率过小,因此对其做了对数变换。的期望计算中,对于序列X是已知的,而的概率是由旧参数值所估计的,因此上式可以表示为:为了方便表示,以下定义:而可以表示为:

2017-04-27 13:28:43

【深度剖析HMM(附Python代码)】1.前言及隐马尔科夫链HMM的背景

1.前言隐马尔科夫HMM模型是一类重要的机器学习方法,其主要用于序列数据的分析,广泛应用于语音识别、文本翻译、序列预测、中文分词等多个领域。虽然近年来,由于RNN等深度学习方法的发展,HMM模型逐渐变得不怎么流行了,但并不意味着完全退出应用领域,甚至在一些轻量级的任务中仍有应用。本系列博客将详细剖析隐马尔科夫链HMM模型,同以往网络上绝大多数教程不同,本系列博客将更深入地分析HMM,不仅包括

2017-04-27 12:24:50

【机器学习算法笔记】7. 基于信息论的网络

【机器学习算法笔记】7.基于信息论的网络根据最大互信息原则作为网络的最优化目标函数。7.1最大互信息原则(相关)(a)(b)(c)(d)7.2信息论相关定义7.2.1信息量7.2.2熵(微分熵)最大熵原则:当根据不完整的信息作为依据进行推断时,应该由满足分布限制条件的具有最大熵的概率分布推得。7.2.3互信息上面分别表示X,Y的联

2017-03-29 17:55:22

【机器学习算法笔记】6. 降维与主分量分析(PCA)

【机器学习算法笔记】6.降维与主分量分析(PCA)6.1PCA算法特征选择问题是指将数据空间变换到特征空间,我们希望设计一种变换使得数据集由维数较少的有效特征来表示。PCA是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。通俗的理解,如果把所有的点都映射到一

2017-03-29 10:35:43

【机器学习算法笔记】5. 自组织映射SOM

【机器学习算法笔记】5.自组织映射SOM自组织映射是一类非监督学习算法自组织原则:1、自增强:如果两个神经元是同时激活的,则突触强度会选择性地增强;如果是异步激活的,突触强度会减弱2、竞争原则:可用资源的局限使得最强健增长的突触是以其他神经元作为代价的3、协作:在神经元级别中,对突触权值的修改趋于互相合作。4、结构化信息:在一个输入信号中存在的潜在次序和结构代表了冗余信息,其通过自组织

2017-03-29 10:14:38

【机器学习算法笔记】4. 支持向量机(SVM)

【机器学习算法笔记】4.支持向量机(SVM)给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘最大化4.1线性模型考虑到用于分离超平面的决策曲面:x到超平面的距离:现在我们考虑到要寻找一个超平面,使得全体x到超平面的距离都大于1:(这里d=1或-1)(这里可以看出,d取1或-1和d取2或-2是一样,在是用于分割超平面的两半)并且满足

2017-03-29 10:01:17

【机器学习算法笔记】3. 核方法和径向基(RBF网络)

【机器学习算法笔记】3.核方法和径向基(RBF网络)在涉及非线性可分模式分类中,多层感知器是通过神经元的非线性来达到的,这个非线性主要是通过使用Sigmoid函数来获得的。这一节介绍另一种通过混合方式来解决非线性可分模式问题:1、将给定非线性集合转换为线性集合2、通过最小二乘估计来解决线性分类问题。这个两段方法被称为核方法。3.1核方法核方法的原理(模式可分性的Cover定理):

2017-03-28 19:49:37

【机器学习算法笔记】2. 学习算法与最小均方算法(LMS)

【机器学习算法笔记】2.学习算法与最小均方算法(LMS)最小均方算法是一个非常流行的在线学习算法。其是建立在自适应滤波和自适应调整权重上的。2.1迭代下降思想三种以迭代下降思想为基础的无约束最优化方法:2.1.1最速下降法:在最速下降法中,对权值向量的调整是在最速下降的方向进行的,即它是与梯度向量方向相反的,梯度向量记为:最速下降法一般表示为:其原理是根据一阶泰勒展开式:

2017-03-28 19:36:42
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!