深度学习
ziyouyi111
保持清醒,珍惜当下。
展开
-
Segnet的caffe训练环境搭建
1、下载caffe源码https://github.com/alexgkendall/caffe-segnet。使用caffe-segnet-segnet-cleaned.zip压缩包解压后改为caffe-segnet。2、进入到caffe-segnet下,运行 cp Makefile.config.example Makefile.config之后, 修改Makefile.config,注意将W...原创 2018-02-24 09:05:15 · 3141 阅读 · 0 评论 -
在新版本caffe里添加新的一层(向旧格式中加)
今天实现了在caffe框架中加入一个层,完成欧式距离的任务。之所以这样,是因为还没有实现自己想要的loss,只是试着学者,看能不能把添加层的流程顺下来。最后实现了。(一)总体框架1)在./src/caffe/proto/caffe.proto 中增加 对应layer的paramter message;查找euclidean,然后根据euclidean_loss加一个whole_loss,加一个数就...转载 2018-06-26 19:17:46 · 292 阅读 · 0 评论 -
caffe,deeplab,对Interp(差值)层的理解
更详细的参数解释查阅interp_layer.cpp。prototxt中的用法:layer{ bottom:"input" top:"output" name:"interp_layer" type:"Interp" interp_param{ shrink_factor:4 zoom_factor:3 pad_beg:0 pad_end...转载 2018-06-26 20:44:28 · 3191 阅读 · 0 评论 -
损失层SoftmaxWithLossLayer
类SoftmaxWithLossLayer包含类SoftmaxLayer的实例。其中SoftmaxLayer层在正向传导函数中将64*10的bottom_data,通过计算得到64*10的top_data。这可以理解为输入数据为64个样本,每个样本特征数量为10,计算这64个样本分别在10个类别上的概率。公式如下,其中n=10,SoftmaxWithLossLayer层利用SoftmaxLayer...转载 2018-07-02 14:39:43 · 589 阅读 · 0 评论 -
caffe SigmoidCrossEntropyLossLayer
代码:layer { name: "loss_2" type: "SigmoidCrossEntropyLoss" bottom: "score_2" bottom: "label" top: "loss_2" loss_weight: 0.1}SigmoidCrossEntropyLossLayer的输入bottom[0],bottom[1],其中bottom[0]是...转载 2018-07-02 15:06:01 · 839 阅读 · 0 评论 -
MaskRCNN要点
faster-rcnn网络结构MaskRCNN的网络框架 其中黑色部分为原来的 Faster-RCNN,红色部分为在 Faster网络上的修改:1)将 Roi Pooling 层替换成了 RoiAlign;2)添加并列的 FCN 层(mask 层); conv:采用卷积网络进行特征提取,最后作者取的是conv5的输出,也就是13*13*256送给RPN...原创 2018-07-03 20:59:43 · 741 阅读 · 0 评论 -
卷积和反卷积
卷积示意图A:卷积核矩阵,M卷积核的数量,也是输出的channel,K为卷积核的大小,K可以理解为k*k(卷积核的长、宽)。B:输入图像矩阵,K为对应卷积核大小的矩阵块。N为输出矩阵特征的长和宽。 N=((image_h + 2*pad_h – kernel_h)/stride_h+ 1)*((image_w +2*pad_w – kernel_w)/stride_w + 1) ...原创 2018-07-04 10:16:18 · 433 阅读 · 0 评论 -
Caffe Layer Library及理解
Convolution layer # convolutionlayer { name: "loss1/conv" type: "Convolution" bottom: "loss1/ave_pool" top: "loss1/conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult:...原创 2018-07-04 11:28:56 · 613 阅读 · 0 评论 -
ResNet结构图
ResNet结构图原创 2018-07-04 16:53:28 · 7958 阅读 · 0 评论 -
caffe loss层
在caffe中,默认的以loss结尾的layer可以作为loss层,但是中间的层同样可以作为loss层.原因是这样的:有一个和这个相关的参数:loss_weight,它决定了你的每个loss层占最好的loss的大小.在以loss结尾的layer里面, loss_wight的大小为1. 在不是以loss结尾的layer里面,它的loss_weight为0.layer { name: "loss"...原创 2018-06-29 15:19:12 · 827 阅读 · 0 评论 -
Python编写caffe代码
有时候,我们需要将网络使用caffe代码实现,人工手写容易出问题。可以使用Python完成网络编写。卷积层:def generate_conv_layer_no_bias(name, bottom, top, weight, num_output, kernel_h, kernel_w, pad_h, pad_w, std=0.01): conv_layer_str = '''layer ...原创 2018-06-29 10:53:58 · 669 阅读 · 0 评论 -
VGG16结构图
为了更好的了解VGG16的结构图,其可视化结构如下:vgg16构造模型图官方数据表格参考:https://blog.csdn.net/zhyj3038/article/details/52448102原创 2018-06-02 11:35:49 · 32927 阅读 · 1 评论 -
部分Caffe 报错解决方案
1、error: function “atomicAdd(double *, double)” has already been defined解决方案:修改该caffe目录下的common.cuh,在atomicAdd前添加宏判断即可:#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600#else __device__ double a...原创 2018-05-10 22:09:23 · 486 阅读 · 0 评论 -
deeplabv2实现并训练自己的数据
一、安装必要的依赖库 matio安装方法1: sudo apt-get install libmatio-dev 安装方法2: 下载matio(https://sourceforge.net/projects/matio/files/matio/1.5.2/) tar zxf matio-1.5.2.tar.gz cd matio-1.5.2 ./configure make make check...原创 2018-05-10 22:34:10 · 3944 阅读 · 2 评论 -
PSPNet-tensorflow实现并训练数据
代码下载地址:https://github.com/hellochick/PSPNet-tensorflow下载预训练模型地址(需翻墙):https://drive.google.com/drive/folders/1S90PWzXEX_GNzulG1f2eTHvsruITgqsm?usp=sharing 放在./model/文件夹下,并将checkpoint后的格式.txt删除。修改train...原创 2018-05-23 10:57:57 · 10040 阅读 · 64 评论 -
FCN:Fully Convlutional Networks for semantic segmentation要点
FCN首先将深度学习引入到语义分割领域,网络的要点总结如下:1. 将全连接层变为卷积,好处:①传统的分类网络,比如LeNet、AlexNet等,只接受固定尺寸的输入并产生非空间输出,原因在于全连接层参数的限制,而且这些网络在通过全连接层把输入展开成向量的时候丢失了图片原有的空间信息。以VGG16和PASCAL数据集为例,网络去除了最后的分类层,并将所有的全连接层转化为上述的卷积层,然后添加了一层1...原创 2018-05-28 19:30:04 · 439 阅读 · 0 评论 -
SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation要点
max-pooling indics:在SegNet中,深度编码器 - 解码器网络被联合训练用于监督学习任务。Segnet移除了全连接层,这样可以使其比其他许多近来的结构(FCN,DeconvNet,ParseNet和Decoupled)显著的小并且训练起来更容易。SegNet的关键部件是解码器网络,每个解码器对应于一个编码器。其中,解码器使用从相应的编码器得到的ma...原创 2018-05-28 21:30:14 · 795 阅读 · 0 评论 -
Deeplab V1、v2要点
背景: CNN的一个特性是不变性,这个特性使得它在high-level的计算机视觉任务比如classification中,取得很好的效果。但是在semantic segmentation任务中,这个特性反而是个障碍。毕竟语义分割是像素级别的分类,高度抽象的空间特征对如此low-level并不适用,比如图像分割细节、边缘。 所以,要用CNN来做分割,就需要考虑两个问题,一个是feature map的...转载 2018-05-29 14:51:52 · 1649 阅读 · 0 评论 -
卷积神经网络系列之softmax,softmax loss和cross entropy
全连接层到损失层间的计算先理清下从全连接层到损失层之间的计算。这张图的等号左边部分就是全连接层做的事,W是全连接层的参数,我们也称为权值,X是全连接层的输入,也就是特征。从图上可以看出特征X是N*1的向量,这是怎么得到的呢? X: 这个特征就是由全连接层前面多个卷积层和池化层处理后得到的,假设全连接层前面连接的是一个卷积层,这个卷积层的输出是100个特征(也就是我们常说的featur...原创 2018-06-06 17:39:51 · 1243 阅读 · 0 评论 -
caffe学习:Crop 层
在Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切。下面我们举一个例子来说明如何使用Crop 层。 Caffe中的数据是以 blobs形式存在的,blob是四维数据,即 (Batch size, number of Chennels, Height, Width)=(N, C, H, W)。---(0,1,2,3) Crop层的输...转载 2018-06-07 20:37:26 · 340 阅读 · 0 评论 -
PSPNet网络要点
基础层经过预训练的模型(ResNet101)和空洞卷积策略提取feature map,提取后的feature map是输入的1/8大小feature map经过Pyramid Pooling Module得到融合的带有整体信息的feature,在上采样与池化前的feature map相concat最后过一个卷积层得到最终输出论文用了一个很“玄学”的方法搞了一个基础网络层,如下图:在ResNet10...原创 2018-07-13 21:43:26 · 5966 阅读 · 0 评论