
deeplearning
keep_forward
谢谢大家关注
展开
-
深度学习模型推理速度缓慢原因分析
碰到一个问题,在训练好一个模型后,实际使用时,即只有前向推理过程,速度缓慢,大概1s能执行100次。之所以会认为推理的速度变慢,主要原因在于,在训练模型时,会在训练集和验证集上,获取算法的准确率,那么就需要进行前向推理。在这里,会有大概500,000个样本,而只需要200s左右,大约2500/s。那么为什么在实际进行推理时速度会变慢这么多呢?分析后发现,主要原因有二:1、训练模型时,...原创 2017-12-23 10:34:55 · 20154 阅读 · 0 评论 -
CNN中pooling层的反向传播
CNN中的pooling层一般有max pooling和average pooling两种。虽然pooling层没有参数,但为了使用链式法则逐层向前进行梯度的传播,也是需要对pooling层进行求导计算的。 假设P_prev经过pooling层之后得到P,pooling的步长为stride_h和stride_w, pooling的窗口大小为f_h * f_w。需要通过dP求解dP_pre...原创 2018-07-04 22:14:24 · 2511 阅读 · 0 评论 -
softmax loss
softmax函数比较简单,可以用如下公式表示同样,交叉熵的公式也很简单,如下:其中 表示真实的概率(),而 表示预测的概率。在深度学习中,这二者也经常被使用,softmax常被用来将输出映射到0~1的概率值,而cross entropy则常被用来作为分类模型的损失函数。在使用的时候有什么需要注意的呢?softmax存在下溢和上溢的问题,如果=c,那么softmax的值都...原创 2018-07-04 22:02:59 · 1541 阅读 · 0 评论 -
tensorflow中batch normalization的用法
转载自https://www.cnblogs.com/hrlnw/p/7227447.html网上找了下tensorflow中使用batch normalization的博客,发现写的都不是很好,在此总结下:1.原理公式如下:y=γ(x-μ)/σ+β其中x是输入,y是输出,μ是均值,σ是方差,γ和β是缩放(scale)、偏移(offset)系数。一般来讲,这些参数都是基于channel来做的,比如...转载 2018-06-20 09:30:02 · 1079 阅读 · 0 评论 -
softmax loss层的求导反向传播
深度学习中的分类网络,一般都是使用softmax和交叉熵作为损失函数。关于softmax和cross entropy的介绍和解释可以详见我的另一篇博客softmax loss。这篇博客仅解释如何对softmax loss层进行求导反向传播。 假设网络最后一层的输出为zz\mathbf{z},经过softmax后输出为pp\mathbf{p},真实标签为yy\mathbf{y}(one h...原创 2018-07-08 11:51:16 · 8252 阅读 · 6 评论 -
深度学习中的梯度下降算法
在深度学习中,梯度下降算法应该是使用的最普遍的优化方法了。一直想要对深度学习中的梯度下降算法做个总结,但无意之中看到了总结的非常好的博客。于是转载过来,多谢原先博主的总结。 博客原文地址http://ruder.io/optimizing-gradient-descent/ 中文翻译地址:https://blog.csdn.net/google19890102/article/...转载 2018-06-23 10:48:37 · 2811 阅读 · 0 评论 -
tensorflow和caffe的loss有区别
用tensorflow实现了一个网络,意欲用caffe复现该网络,几经挣扎后,代码终于写好了,但是出现了新的问题,精度不一样,caffe的精度比tensorflow低2~3个百分点。这可咋整,仔细分析网络,通过打印accuracy和loss,发现caffe的loss总是比tensorflow低一下,而caffe的accuracy却也要低一些。如下图所示:横坐标表示准确率,纵坐标表示loss sco...原创 2018-04-18 19:10:02 · 625 阅读 · 0 评论 -
深度学习模型在各个框架之间转换(待续)
根据个人的使用情况,开源情况等,可能会用到各种深度学习的框架,比如tensorflow,caffe,mxnet,pytorch等。如果要把某种框架下的模型转成另一种框架下的模型,可以参考该github,没做太多的研究,只是粘过来,以备不时之需。https://github.com/ysh329/deep-learning-model-convertor...原创 2018-04-18 19:08:58 · 1744 阅读 · 0 评论 -
深度学习中shuffle后随机读取多个文件夹内的数据变慢
不管是用tensorflow还是caffe,都涉及到把数据写成需要的数据格式,加快运行速度,在caffe中一般写成LMDB/LEVELDB,在tensorflow中一般写成tfrecord格式。在写数据之前,当然是需要得到一个list,list中保存了文件名,以及对应的类型。并且需要对这个list进行shuffle处理,但是偶然发现,shuffle之后,再去读取数据会比从一个文件夹内按顺序读取数据...原创 2018-04-17 11:37:08 · 1252 阅读 · 0 评论 -
深度学习,提高分类精度
利用深度学习网络训练出模型后,如果用模型测试,准确率低于训练集上的准确率,那么一般是存在过拟合的。可以尝试用bagging或者boosting或者stacking的方式提升准确率。我自己用过bagging的方式,其实就是训练3个/5个模型,然后做多数投票,一般会有1~2个点的提升...原创 2018-04-16 16:40:12 · 6480 阅读 · 0 评论