![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Deep Learning
文章平均质量分 60
iamzhangzhuping
这个作者很懒,什么都没留下…
展开
-
Deep learning:(五十一)CNN的反向求导及练习
http://www.cnblogs.com/tornadomeet/p/3468450.htmlDeep learning:CNN的反向求导及练习 前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它。虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好。而本文的主要目转载 2015-10-24 21:14:26 · 779 阅读 · 0 评论 -
caffe loss NaN
by Yangqing on 14 May 2014For a sanity check, try running with a learning rate 0 to see if any nan errors pop up (they shouldn’t, since no learning takes place). If data is not initialized well, it mig转载 2016-07-22 22:17:40 · 1075 阅读 · 0 评论 -
Faster RCNN proposal_layer.py
定义了一个 ProposalLayer 类, 在rpn_test.pt中会用到。class ProposalLayer(caffe.Layer): """ Outputs object detection proposals by applying estimated bounding-box transformations to a set of regular boxes原创 2016-05-23 18:53:23 · 6463 阅读 · 0 评论 -
Caffe softmax_loss_layer.cpp 学习
目录目录LayerSetUpReshapeget_normalizerForward_cpuBackward_cpuLayerSetUptemplate <typename Dtype>void SoftmaxWithLossLayer<Dtype>::LayerSetUp( const vector<Blob<Dtype>*>& bottom, const vector<Blo原创 2016-02-28 22:26:41 · 7858 阅读 · 0 评论 -
sigmoid cross entorpy loss
1.Cross Entropy Error The mathematics behind cross entropy (CE) error and its relationship to NN training are very complex, but, fortunately, the results are remarkably simple to understand and implem原创 2016-05-07 09:58:34 · 2326 阅读 · 0 评论 -
Faster-rcnn
最后更新日期:2016年4月29日本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10%,但是准确率应该是差不多的。目前已经实现的有两种方式:Alternative training Approximate joint training 推荐使用第二种,因为第二种使用的显存更小,而且训练会更快,同时准确率差不多甚至原创 2016-05-08 12:33:24 · 2909 阅读 · 0 评论 -
Faster RCNN train.py
定义了一个类:class SolverWrapperclass SolverWrapper(object): """A simple wrapper around Caffe's solver. This wrapper gives us control over he snapshotting process, which we use to unnormalize原创 2016-05-15 19:43:04 · 3141 阅读 · 0 评论 -
Faster RCNN pascal_voc.py
主要定义了一个pascal_voc类,在类的内部定义了它的一些属性和方法。def _init_(self, image_set, year, devkit_path=None) 构造器方法def __init__(self, image_set, year, devkit_path=None): imdb.__init__(self, 'voc_' + year + '_'原创 2016-05-15 19:39:52 · 2966 阅读 · 0 评论 -
Faster RCNN roidb.py
1. roidb是一个列表,列表元素为字典2. prepare_roidb 函数def prepare_roidb(imdb): """Enrich the imdb's roidb by adding some derived quantities that are useful for training. This function precomputes the m原创 2016-05-15 19:39:23 · 4412 阅读 · 0 评论 -
What is zero-shot learning?
Zero-shot learning is being able to solve a task despite not having received any training examples of that task. For a concrete example, imagine recognizing a category of object in photos without ever原创 2016-07-13 14:38:38 · 2453 阅读 · 0 评论 -
matlab 读取图片的格式
dlib::shape_predictor , dlib::full_object_detection 是dlib里面的两个两个类,最近在做一个人脸的项目的时候需要用到它们,也是第一次使用Dlib,感觉这是一个比较新的一个开源机器学习库。本人也是刚开始学习,后续会更新先上一段源码,shape_predictor:class shape_predictor { /*!原创 2016-07-17 18:19:27 · 5941 阅读 · 0 评论 -
Faster RCNN generate.py
该模块的功能主要是生成rpn proposals。 + cv2.imread读取的图像的存储格式为H W K,且三通道的顺序为BGR + PIL.Image.open读取图片的存储格式为:W H (此时的数据为PIL库的某种对象),且三通道顺序为RGB 但是,当转换为np.array的时候,存储格式将H W K,常用的代码段为:def load_image(self, idx):原创 2016-05-15 19:41:18 · 5348 阅读 · 0 评论 -
FCN中的transplant
FCN中的surgery.transplant函数用于拷贝learnable参数,其直接目的是:将VGG分类模型中的一些全连接层的参数正确地拷贝到相应的目标全连接层中。代码如下:def transplant(new_net, net, suffix=''): """ Transfer weights by copying matching parameters, coercing p原创 2017-05-10 18:58:01 · 1239 阅读 · 1 评论 -
caffe的Matlab接口的使用方法
caffe的Matlab接口的使用方法net.blobs(‘data’).set_data(ones(net.blobs(‘data’).shape)); net.blobs(‘data’).set_data(net.blobs(‘data’).get_data() * 10); 注意:因为Matlab是以1作为起始单元,且以列为主,在Matlab中使用四维blob为[width, height原创 2016-12-21 15:15:50 · 1779 阅读 · 0 评论 -
Caffe softmax_layer.cpp学习
目录目录首先需要注意的Forward_cpu函数backward_cpu函数backward_cpu函数实现说明首先需要注意的: 整个网络的参数的 gradient 的计算方法是从顶层出发向后,在 层的时候,会拿到从 得到的 也就是 ,然后需要做两个计算:首先是自己层内的参数的 gradient,比如如果是一个普通的全连通内积层,则会有参数 和 bias 参数 ,根据刚才的 Chain原创 2016-02-28 16:08:20 · 1337 阅读 · 0 评论 -
常用的数据预处理操作
Normalization:向量的每个元素除以它的二范数(默认情况下) sklearn.preprocessing.normalize(X, norm=’l2’, axis=1, copy=True) X = [[ 1., -1., 2.], … [ 2., 0., 0.], … [ 0., 1.,原创 2016-08-11 18:01:30 · 1648 阅读 · 0 评论 -
Caffe 里 top[i]->cpu_diff() bottomp[i]->cpu_diff() 取出梯度,这些梯度在默认的情况下 caffe将其设置为0
Caffe 里 top[i]->cpu_diff() bottomp[i]->cpu_diff() 取出梯度,这些梯度在默认的情况下 caffe将其设置为0,只有在有梯度往前传播,top和bottom的梯度发生更新后,才会有所改变 this->type():Convolution top[0]->cpu_diff()[0]:0.000000 top[0]->cpu_diff()[1]:0.00原创 2016-08-11 11:49:41 · 4238 阅读 · 0 评论 -
The NaN values
The NaN values are used to identify undefined or non-representable values for floating-point elements, such as the square root of negative numbers or the result of 0/020.5.2 Infinity and NaN原创 2016-07-30 10:00:57 · 569 阅读 · 0 评论 -
利用caffe的python接口进行训练时遇到的问题
利用caffe的python接口来训练:python ./train.py, 想输出梯度,便在solver.cpp里做了修改,添加代码:int max_len = 0; for (int l = 0; l < net_->layers().size(); ++l) { Layer<Dtype>& layer = *net_->layers()[l].get();原创 2016-08-16 14:16:19 · 1683 阅读 · 0 评论 -
Faster RCNN imdb.py
def merge_roidbs(a, b) 类imdb的静态方法,将a b两个roidb归并为一个roidb@staticmethod def merge_roidbs(a, b): assert len(a) == len(b) for i in xrange(len(a)): # boxes 采用vstack原创 2016-05-15 19:38:48 · 2761 阅读 · 0 评论 -
Faster RCNN train_faster_rcnn_alt_opt.py
def get_roidb(imdb_name, rpn_file=None):def get_roidb(imdb_name, rpn_file=None): imdb = get_imdb(imdb_name) #返回一个pascal_voc类对象 print 'Loaded dataset `{:s}` for training'.format(imdb.name)原创 2016-05-15 19:38:02 · 1977 阅读 · 1 评论 -
语义分析的一些方法(下篇)
http://www.flickering.cn/ads/2015/02/%E8%AF%AD%E4%B9%89%E5%88%86%E6%9E%90%E7%9A%84%E4%B8%80%E4%BA%9B%E6%96%B9%E6%B3%95%E4%B8%89/3 图片语义分析3.1 图片分类图片分类是一个最基本的图片语义分析方法。基于深度学习的图片分类转载 2015-11-02 21:46:26 · 847 阅读 · 0 评论 -
[王晓刚]深度学习在图像识别中的研究进展与展望
深度学习是近十年来人工智能领域取得的最重要的突破之一。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域都取得了巨大成功。本文将重点介绍深度学习在物体识别、物体检测、视频分析的最新研究进展,并探讨其发展趋势。1. 深度学习发展历史的回顾现有的深度学习模型属于神经网络。神经网络的历史可追述到上世纪四十年代,曾经在八九十年代流行。神经网络试图通过模拟大脑认知的机理原创 2015-11-02 21:48:57 · 1595 阅读 · 0 评论 -
正则化方法:L1和L2 regularization、数据集扩增、dropout
正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。为了防止overfitt原创 2015-12-11 15:37:47 · 550 阅读 · 0 评论 -
最大似然估计(MLE)与最大后验估计(MAP)
最大似然估计:最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知。我们没有人力与物力去统计全国每个人的身高,但是可以通过采样,获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布的均值与方差。最大似然估计中采样需满足一个很重要的假设,就是所有的采原创 2015-10-30 19:21:19 · 662 阅读 · 0 评论 -
Region Proposal Networks
Region Proposal NetworksRPNs 从任意尺寸的图片中得到一系列的带有 objectness score 的 object proposals。具体流程是:使用一个小的网络在最后卷积得到的特征图上进行滑动扫描,这个滑动的网络每次与特征图上n*n 的窗口全连接,然后映射到一个低维向量,例如256D或512D, 最后将这个低维向量送入到两个全连接层,即box回归层(box原创 2015-10-27 16:03:36 · 11052 阅读 · 0 评论 -
重磅!8大策略让你对抗机器学习数据集里的不均衡数据
http://www.36dsj.com/archives/3513736大数据专稿,原文作者:Jason Brownlee 本文由 Teradata 大数据分析实习生黄蓉琦 翻译,转载必须获得本站、原作者、译者的同意,拒绝任何不表明译者及来源的转载!你是不是也经历过这样的事?当你正在处理你的数据集的时候,你建立了一个分类模型并且它的精确度达到了90%,这时,你一定会想:这个结转载 2015-11-12 11:23:27 · 1124 阅读 · 0 评论 -
Deep learning:三十八(Stacked CNN简单介绍)
尊重原作者:http://write.blog.csdn.net/posteditDeep learning:三十八(Stacked CNN简单介绍) 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络),起源于本人在构建SAE网络时的一点困惑:见Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑)。因为有时候针对大图片进转载 2015-10-25 08:52:29 · 530 阅读 · 0 评论 -
论文笔记 Visualizing and understanding convolutional networks
转自:http://blog.csdn.net/kklots/article/details/17136059 在所有深度网络中,卷积神经网和图像处理最为密切相关,卷积网在很多图片分类竞赛中都取得了很好的效果,但卷积网调参过程很不直观,很多时候都是碰运气。为此,卷积网发明者Yann LeCun的得意门生Matthew Zeiler在2013年专门写了一篇论文,阐述了如何用反卷积网络可视化转载 2015-12-17 19:24:59 · 1019 阅读 · 0 评论 -
论文笔记:《maxout networks》和《networks in networks》
一张图说明常规卷积层、maxout 、 network in network 参考资料:http://openreview.net/document/9b05a3bb-3a5e-49cb-91f7-0f482af65aeahttp://zhangliliang.com/2014/09/22/paper-note-maxout-and-nin/原创 2015-12-19 10:06:55 · 1002 阅读 · 0 评论 -
Python 装饰器,@property 以及 Pycaffe.py
Python装饰器的知识请参考:12步轻松搞定python装饰器 @property函数的知识请参考:Python进阶之“属性(property)”详解下面贴一段pycaffe.py中的代码@propertydef _Net_blobs(self): """ An OrderedDict (bottom to top, i.e., input to output) of netw原创 2016-05-13 17:28:05 · 1756 阅读 · 0 评论 -
Faster RCNN anchor_target_layer.py
class AnchorTargetLayer(caffe.Layer): """ Assign anchors to ground-truth targets. Produces anchor classification labels and bounding-box regression targets. """ def setup(self, botto原创 2016-05-17 11:13:49 · 6008 阅读 · 1 评论 -
Faster RCNN minibatch.py
def _sample_rois(roidb, fg_rois_per_image, rois_per_image, num_classes) 在 def get_minibatch(roidb, num_classes) 中调用此函数,传进来的实参为单张图像的roidb ,该函数主要功能是随机组合sample of RoIs, 来生成前景样本和背景样本。def _sample_rois(原创 2016-05-15 19:40:30 · 3871 阅读 · 0 评论 -
Faster RCNN roi_pooling_layer.cpp roi_pooling_layer.cu
主要定义了一个 ROIPoolingLayer 类ROIPoolingLayer的受保护数据成员有:int channels_;int height_;int width_;int pooled_height_; // pooling后的特征图的height_int pooled_width_; // pooling后的特征图的width_Dtype spatial_scale_; //原创 2016-05-25 17:25:24 · 6656 阅读 · 0 评论 -
Faster RCNN layer.py
def setup(self, bottom, top)方法: 该方法主要是在创建RoIDataLayer的时候调用。结合_caffe.cpp里面.def("setup", &Layer::LayerSetUp),个人猜测(水平有限),setup(self, bottom, top)应该还是调用底层的Layer::LayerSetUp方法,同时bottom, top也分别对应着:const vec原创 2016-05-15 19:41:42 · 3706 阅读 · 0 评论 -
Faster RCNN blob.py
def im_list_to_blob(ims):将图像转换成blob(np.ndarray)def im_list_to_blob(ims): """Convert a list of images into a network input. Assumes images are already prepared (means subtracted, BGR order原创 2016-05-15 19:40:53 · 1764 阅读 · 0 评论 -
Softmax vs. Softmax-Loss: Numerical Stability
参考博文《Softmax vs. Softmax-Loss: Numerical Stability》 Softmax vs. Softmax-Loss: Numerical Stability其中有关键的几段话:整个网络的参数的 gradient 的计算方法是从顶层出发向后,在 层的时候,会拿到从 得到的 也就是 ,然后需要做两个计算:首先是自己层内的参数的 gradient,比如如果是原创 2016-02-28 11:15:33 · 795 阅读 · 0 评论 -
论文笔记:going deeper with convolutions
读完以后还有很多细节不懂,但这篇paper主要思想就是提出了inception层,有两个好处,第一,inception层计算时降低了数据的维度,使得可以再有限的计算资源下构建更复杂的网络结构(GoogleNet有22层),第二,inception层将多个scale的feature结合起来,效果更好,原文是这么说的:One of the main beneficial aspects o原创 2015-12-23 10:52:25 · 807 阅读 · 0 评论 -
tensorflow name_scope variable_scope
https://stackoverflow.com/questions/34215746/difference-between-variable-scope-and-name-scope-in-tensorflow 更形象的解释:原创 2017-09-22 21:30:38 · 465 阅读 · 0 评论