自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 图像处理的边缘和纹理的区别

一、概念理解图像的边缘:图像中局部不连续的特征,一般根据灰度值来判断,图像边缘是灰度值发生突变的位置,也就是梯度值大的位置。图像的纹理:图像中反复出现的局部模式和它们的排列规则,也可以认为是图像强度局部变化的重复模式。二、实例解析(Halcon实例)1.边缘边缘是比较好理解的,就是灰度值发生了突变。如一张灰度图像如下图所示。进行边缘提取得到的边缘如下图所示。2.纹理纹理分析一...

2019-12-25 17:34:10 7822 4

原创 Caffe测试集分类结果相同,全部为最后一类

现象说明目标:二分类,训练过程中验证集准确率比较高。训练完成之后对测试集进行测试,测试结果中的类别全部为1(最后一类)。Caffe测试集分类结果相同,全部为最后一类原因及解决方案原因:没有对网络的第一个卷积层进行初始化。下图是原来网络第一个卷积层的参数。解决方案:将第一个卷积层权重初始化为“xavier”,偏置初始化为常量0。...

2019-12-13 18:39:42 1846

原创 window caffe训练卡在Loading mean file from: ming_mean.binaryproto不动

现象如图所示:原因:自己疏忽在train和test阶段的source全部设置成了mtrainldb(如下图所示),造成数据锁死情况。修改test的source为即可。

2019-11-12 10:11:48 422

原创 windows编译caffe报错:error MSB4062: 未能从程序集 ....NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.N

报错如题目在private前边有两个\解决方案定位到…\NugetPackages\OpenCV.2.4.10\build\native文件夹下,找到OpenCV.props配置文件,定位到private,将前边的\删掉,然后重启vs即可解决问题。...

2019-10-11 11:06:32 815

原创 caffe训练一直提示Waiting for data

现象我在训练googlenet网络的时候发现日志中一直提示Waiting for data。迭代之后还是一直提示。现象如下:解决方案很明显,问题就出来数据集做的不对。再三检查自己的数据集是否有问题。笔者的问题是,数据是原图大小,1280960。然后直接resize成227227就可以了。...

2019-10-10 21:41:43 1305

原创 C++ 打印由*组成的等边三角形

要求:如题样例:代码及详解:#include<iostream>using namespace std;//打印星号三角形// *// * *// * * *//* * * *int main(){ int n; while (cin) { cin >> n; for (int i = 0; i < n; i++)//代表...

2019-09-05 18:48:22 3660

原创 C++ 求字符串的所有子串

C++版本求一个字符串的所有子串的核心就是利用substr这个函数,所以一定要搞懂这个函数。第二个变量是偏移量。下面是源码:#include<iostream>#include<string> using namespace std;void getAllSubstrings(string str){ if (str.length() == 0) { ...

2019-09-04 17:31:54 4993

原创 无法启动程序 “\\\\\\.exe”系统找不到指定的路径。

问题说明:今天在看一个项目的源码时直接下载下来放到了桌面上,运行出现如下错误。解决方案:不要将程序源代码或项目或exe放在桌面这种复杂(多半带空格和汉字且在防火墙或杀毒软件严密控制的C盘上)的目录下。一般情况下先检查自己的项目的路径,如果确实是上边所描述的情况那么把项目直接拷贝到其他文件直接运行就可以了。...

2019-09-03 22:33:52 1774

原创 C++ sizeof(struct)计算结构体大小

一、sizeof()在学习C++的时候会学到一个sizeof操作符,在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。单位是位(byte)。我们都知道char、short、int、long、float、double的大小;二、结构体的大小定义一个结构体:struct stru{ char a; int b; float c; double d;};...

2019-08-31 13:07:46 17417 2

转载 Caffe CNN特征可视化(详解)

转载自 Caffe CNN特征可视化http://www.cnblogs.com/louyihang-loves-baiyan/先贴出来SqueezeNet网络对应的可视化代码# -*- coding:utf-8 -*- import numpy as npimport matplotlib.pyplot as pltimport osimport caffeimport sys...

2019-07-20 20:52:23 315

原创 DenseNet占用内存过高(batch-size只能设置为1)解决方案

情况说明前一阵自己使用caffe跑了跑DenseNet网络,显卡11G显存,只有当TRAIN和TEST的batch-size设置成1才可以跑通,这样的话是在线学习,最终的结果并没有想象中的那么好。然后查了一些资料,并不断进行尝试,最终得到了解决方案-------->使用memory-efficient的caffe(Ubuntu系统)跑DenseNet。说明:博主用的是八开服务器,用的Wi...

2019-07-20 09:07:00 4578 3

原创 CNN重要知识点理解

一、卷积核的作用卷积层的卷积核是用来提取特征的,多个卷积核是用来提取多种特征的。图片中有左边是一个77的图像,右边三个33的卷积核,分别提取对应的特征。二、通道数的理解1.图像通道数:若图像为三通道,那么指的是RGB三通道;也有单通道,如灰度图。2.卷积操作完成的输出的通道数,也就是卷积核的个数。通道数也就是feature map数每层的feature map个数,为上一层卷积核的...

2019-07-18 13:11:53 1118

原创 深度学习制作数据集时修改图像格式

在深度学习中,我们需要根据自己的任务task制作自己的数据集,一些网络对于输入图像的格式往往是有要求的,例如YOLOv3要求图像格式为jpg。可能我们有的图像格式并不是我们想要的格式,例如需要jpg而我们有bmp,这时候就需要修改图像格式了。直接修改图像的后缀名(错误做法)可能有的人就会找批处理文件的软件直接修改图像的后缀名,当修改完成之后再拿来训练发现网络并不能跑起来,原因很简单,就是这样的...

2019-07-18 09:06:11 2143

原创 GoogLeNet 输出日志中test部分的loss的理解

对GoogLeNet 输出日志中的loss的理解在GoogLeNet 网络进行训练时,日志文件中输出如下内容,该内容是在训练过程中的测试部分输出的(即test过程)I0423 16:33:20.838305 19680 solver.cpp:404] Test net output #0: loss1/loss1 = 0.870371 (* 0.3 = 0.261111 loss)I...

2019-07-18 08:23:25 1599 1

原创 多GPU训练机制

引言通常情况下,在深度学习中使用梯度下降算法进行训练时,往往需要较大的batch-size才能获得良好的性能。而当我们选择比较大型的网络时(如DenseNet121),由于GPU资源有限,我们往往要减小batch-size。但是batch-size太小的话会影响性能,这时候如果硬件条件允许的情况下可以使用多GPU进行训练。...

2019-07-17 18:24:24 2656 1

原创 论文导读:Benchmark Analysis of Representative Deep Neural Network Architectures

最近发现了一篇文章,个人感觉很不错,因此推荐给大家。论文题目:Benchmark Analysis of Representative Deep Neural Network Architectures论文链接:https://arxiv.org/abs/1810.00736题目:代表性DNN架构的基准分析摘要:这项工作提供了对现有技术中提出的用于图像识别的大多数深度神经网络(DNN)的...

2019-07-07 08:21:17 1114

原创 CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet

本篇博文主要介绍2015年之后出现的经典分类网络的发展历程,前期经典分类网络网上有很多解析,主要包括LeNet、AlexNet、VGG等。本篇博文主要介绍GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet。以PPT截图形式进行讲解一、GoogLeNet论文题目:Going Deeper with Convolutions论文链接:https://ar...

2019-07-06 19:49:34 2976 1

原创 halcon获得线段(region)的端点

在halcon算法中我们可能会需要求得线段也就是line的端点,那么怎样才可以得到呢?方法主要用到下边的代码。skeleton (RegionLines, Skeleton)junctions_skeleton (RegionLines, EndPoints, JuncPoints)get_region_points (EndPoints, Rows1, Columns1)举例解释...

2019-07-01 19:12:24 9716

转载 安装完vs2015后,vs2013打开解决方案闪退

问题详情本人一直使用vs2013进行项目开发,然而最近由于项目需要安装了vs2015,vs2015可以正常使用。后期再想用vs2013打开原来的解决方案的时候发现,刚打开之后就直接闪退了,没有任何提示。后来查看vs2015是否可以使用,发现可以正常使用。不过打开解决方案之后发现每个项目后边都有一个(visual studio 2013)的显示,不过项目还是可以跑的。后来查询解决方案,找到了很棒的...

2019-06-29 15:48:38 2939 1

原创 转义字符\r、\n、以及\r\n的区别

一、转义字符转义字符用来表示常见的那些不能显示的ASCII字符。常见的转义字符有\t、\n、\r、\、’、"等等,详见常见的转义字符及其意义(C语言)二、\r、\n、以及\r\n的区别\r :将当前位置移到本行开头。又叫回车,对应键盘上的return键\n:将当前位置移到下一行开头。又叫换行,newline。这时候可能就有人陷入了思考中,在文本中回车不就相当于换行了吗?换行不就相当于到...

2019-06-26 20:43:05 32443 1

原创 Python中变量、数据以及引用的理解

概念变量即为高级语言中可以变化的量,相对于常量。数据也就是值,如int型的2019,字符串型的"hello python"。1.变量名和数据内容是分开存储的。2.数据保存在内存中的一个位置(地址)。3.变量中保存着数据在内存中的地址。引用就是变量中记录数据的地址。理解举例理解:定义 num(变量) = 1(数据)id(num)和id(1)返回结果都一样,都是数据1的地址。nu...

2019-06-23 20:11:36 715

原创 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 8.0.props”。

问题:原来用vs2013打开caffe.sln的时候一直可以使用。但是在安装了vs2015之后,今天用原来的vs2013打开caffe.sln的时候,vs2013直接闪退了。然后我就用vs2015打开解决方案,然后在启动的时候报错。未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomization...

2019-06-20 14:03:55 5372

原创 CNN的输入图像尺寸问题

输入图片的大小需要固定我们知道CNN输入图片的大小需要固定,但是这是为什么呢?其实在网络结构中卷积层是不需要固定图像的大小(它的输出大小是跟输入图像的大小相关的),一般情况下输入尺寸都会大于常用的卷积核大小。有固定输入图像大小需求的是全连接部分,全连接部分的参数的个数是需要固定的。解决方案当然可能我们的数据集的大小并不统一,这时候就需要进行处理了1.可以在输入网络之前进行resize,将...

2019-06-04 15:08:59 11128

原创 理解ResNeXt

ResNeXt:https://arxiv.org/pdf/1611.05431.pdfAbstractWe present a simple, highly modularized network architecture for image classification. Our network is constructed by repeating a building block th...

2019-05-28 18:41:50 578

原创 理解bottleneck architecture

本篇博文主要是讨论为什么叫 bottleneck architecturebottleneck architecture翻译过来叫做瓶颈结构,瓶颈结构的特点是一头大一头小。这个是针对于网络结构中输入/输出的维度(dimensions)来讲的。来看一下Deep Residual Learning for Image Recognition(ResNet)论文当中的一部分。对应结构为下图。...

2019-05-28 15:54:06 7413

原创 C#实现ListView控件的Checkbox复选框多选

C#ListView控件可以显示多行多列信息,其实类似于Excel表格。ListView控件前面可以有Checkbox复选框,并且可以实现复选框的多选功能。下面来说下具体操作。很简单。Checkbox复选框多选1.设置ListView控件的CheckBoxes属性为true。2.设置ListView控件的MultiSelect属性为true。3.效果展示注意:需要注意的是这时...

2019-05-25 15:14:27 12074

原创 caffe测试集分类类别完全一样,得分也一样

今天训练了SE-ResNet,任务是二分类。训练训练完成后的loss曲线为:有曲线图可知,train_loss整体都在0.207左右,test_loss整体都在0.68-0.695之间。这样的loss曲线可以证明没有训好,根本没有学到东西(这是训的什么玩意儿!!!),这个特征感觉应该是那部分出错了,不过目前我还没有发现,发现后再更新原因及解决方案。。。。。。测试这里重点说一下测试的现...

2019-05-24 20:03:29 1252 2

原创 caffe用classification.cpp进行测试的经验

当我们训练结束后,接下来要做的就是进行测试,也就是在测试集上验证自己训练出来的模型的泛化效果。在测试的时候一定要注意几点。先了解一下classification.cpp中重要的内容。model_file为测试模型时记录网络结构的prototxt文件路径trained_file为训练完毕的caffemodel文件路径mean_file为记录数据集均值的文件路径,数据集均值的文件的格式通常为...

2019-05-24 17:16:47 547 2

原创 DenseNet网络实践(caffe版)

论文名称:Densely Connected Convolutional Networks(CVPR 2017, Best Paper Award)论文链接:https://arxiv.org/pdf/1608.06993.pdf源码链接:https://github.com/liuzhuang13/DenseNetcaffe版源码: https://github.com/liuzhuang...

2019-05-23 14:22:24 1878 19

原创 caffe测试时报错 [....syncedmem.cpp:56] Check failed: error == cudaSuccess (2 vs. 0) out of memory

现象:在caffe复现DenseNet的过程中,训练完成了,就到了测试阶段。当开始运行之后,过了一段时间发现报了一个错误。F0523 12:55:04.591845 17608 syncedmem.cpp:56] Check failed: error == cudaSuccess (2 vs. 0) out of memory。爆内存了。如图所示。分析一:batch_size一般这个问...

2019-05-23 13:18:03 4148

原创 Going deeper with convolutions(GoogLeNet)

原文:https://arxiv.org/abs/1409.4842AbstractWe propose a deep convolutional neural network architecture codenamed Inception, which was responsible for setting the new state of the art for classificati...

2019-05-21 14:59:58 381

原创 Network In Network 网络解析

Network In Network原文:https://arxiv.org/abs/1312.4400Abstract:We propose a novel deep network structure called “Network In Network”(NIN) to enhance model discriminability for local patches within th...

2019-05-21 10:35:06 972

原创 caffe日志文件中Iteration loss和Train net output loss的区别

caffe训练日志文件中包含两个loss,一个是Iteration####, loss = ####;另一个是Train net output #0: loss = ####。如下图所示如果想要知道这两个loss的区别就需要找到输出该日志的代码。经查询可知,该部分的代码在solver.cpp中。template <typename Dtype>void Solver<...

2019-05-17 18:57:05 1377

原创 训练时的Iteration、batchsize、epoch和loss的关系

batchsize:批处理大小。一次训练所选取的样本数。 它的大小影响模型的优化程度和速度。Iteration:迭代次数。一次Iteration就是batchsize个训练数据前向传播和反向传播后更新参数的过程。epoch:所有训练数据前向传播和反向传播后更新参数的过程。也就是我们认为的所有数据集跑了一遍。如果训练集大小时100000。batchsize为100,那么一个epoch需要100...

2019-05-17 17:17:15 18205 4

原创 如何判断欠拟合、适度拟合、过拟合

可以通过查看训练集误差和验证集误差,从而判断算法达到什么效果。通过衡量训练集和验证集的误差就可以得出不同结论。1.欠拟合:假定训练集误差是 15%,验证集误差是 16%。这样则说明算法并没有在训练集中得到很好的训练,如果训练集数据的拟合度不高,就是数据欠拟合,就可以说这种算法偏差比较高。也就是我们说的没有训练好。相反,它对于验证集产生的结果是合理的,验证集中的错误率只比训练集的多了 1%,所...

2019-05-17 15:55:27 14481

原创 MFC 错误 440 error LNK2005: "void * hEvent_Cconn" (?hEvent_Cconn@@3PEAXEA) 已经在 CSProtocal.obj 中定义

现象:今天在使用MFC进行编程时,出了一个错误:错误 440 error LNK2005: “void * hEvent_Cconn” (?hEvent_Cconn@@3PEAXEA) 已经在 CSProtocal.obj 中定义原因:没有在声明hEvent_Cconn对应的头文件对应的源文件中进行定义。我的是在globalval.h中进行的声明 extern HANDLE hEven...

2019-05-16 18:36:37 494

原创 caffe测试过程中的label_file,标签文件中的顺序

label_file是在classification.cpp文件中测试的时候访问的一个文件,label_file为记录类别标签的文件路径,标签通常记录在一个txt文件中,一行一个。这个txt文件中的顺序是十分重要的。例如二分类,训练集分为0和1文件夹。例如0文件夹代表的是good,1文件夹代表的是bad。那么标签文件要按顺序写结果如下不能不按顺序写,或者写反效果如下,正好反了。...

2019-05-15 10:41:37 1083

转载 训练集、验证集、测试集的划分方法

转载自https://blog.csdn.net/wenqiwenqi123/article/details/79232536 作者:超屌的温jay过去人们运用机器学习传统方法的时候,一般将训练集和测试集划为7:3。若有验证集,则划为6:2:2. 这样划分确实很科学,当数据量不大的时候(万级别及以下)。但到了大数据时代,数据量陡增为百万级别,此时我们不需要那么多的验证集和训练集。假设有...

2019-05-13 16:10:27 2721 1

原创 caffe测试同样的测试集,单次测试结果为同一类,并且每次测试结果不同

情况说明1.我用GoogLeNet网络训练一个二分类任务,在第一次测试的时候发现所有的0全都判成了1,所有的1全都判成了0,感觉这种情况也太扯了,是不是在测试代码classification.cpp中最后保存判断出错图像的代码写错了,然后开始进行检查,发现并没有错,读取测试集中的0文件夹时,保存的是测试结果为0的结果,读取测试集中的1文件夹时,保存的是测试结果为1的结果。2.后来第二天又进行了...

2019-05-13 10:23:23 1369

原创 caffe由train_val.prototxt生成deploy.prototxt

一、首先需要理解在caffe训练测试网络时的solver.prototxt、train_val.prototxt和deploy.prototxt文件1.solver.prototxtcaffe在训练时需要调用solver.prototxt,该文件中的net参数,调用训练验证的prototxt文件。一般情况下是train_val.prototxt。2.train_val.prototxtt...

2019-05-11 15:02:29 859

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除