Caffe
文章平均质量分 79
Caffe学习
路人K_
一个在慢慢学习的学习者。
展开
-
在windows10下利用anaconda2+VS2013+only-cpu搭建caffe框架
在windows10下利用anaconda2+VS2013+only-cpu搭建caffe框架 一、在github下载caffe文件网址如下:https://github.com/BVLC/caffe/tree/windows下载方法:进入网站后点击:选择 然后保存到D盘根目录,然后解压会出现caffe-master的文件夹,如下:至此caffe文件下载完毕,接下来的步骤会有配置环境的说明。 二、原创 2017-12-15 09:37:30 · 2167 阅读 · 8 评论 -
win10+only-cpu利用Caffe框架测试mnist数据集
一、下载mnist数据集,正常步骤:在如下网站下载四个zip:http://yann.lecun.com/exdb/mnist/但是从这里下载的数据集需要进行格式转换(转换方法以后会说到的),所以我现在选择下载现成的数据集如此zip文件解压后得到这么两个文件夹:(附:这了两个文件夹中的内容:)将这两个文件夹放入D:/caffe-master/examples/mnist中(因为我把caffe-ma原创 2017-12-15 10:03:34 · 1179 阅读 · 0 评论 -
win10+caffe+only-cpu试验cifar10
1 cifar10数据集的相关情况60000张32*32彩色图片,50000张训练,10000张测试下载cifar10数据集:http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz将下载好并解压好的数据存放于/data/cifar10/路径下载好的原始数据是BINARY(二进制)格式的,需要转换成LMDB或LEVELDB格式才能被Caffe识别原创 2018-01-16 21:38:59 · 368 阅读 · 0 评论 -
caffe中文件参数设置(六):solver文件
说明:一、在整个caffe框架运行过程中,solver是核心中的核心,它协调着整个模型的运作。caffe程序能否正确运行,和solver文件的参数是否设置正确有着很大的关系。二、在Deep Learning中,往往loss funciton是非凸的,没有解析解,我们需要通过优化方法来求解。solver的作用就是交替调用前向(forward)算法和后向(backward)算法来更新参数,从而最小化l转载 2018-01-18 08:05:36 · 436 阅读 · 0 评论 -
caffe中文件参数设置(一):数据层说明
说明:caffe中文件参数设置,这个系列文章是我在学习过程中,找到的并且结合许多大牛所写总结转载的。并且会持续更新,按自己需求改写训练文件就好了,这里讲的是大体的过程。要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一层又由许多参数组成。所有的参数都定义在caffe.proto这个文件中。要熟练使用caffe,最重要转载 2018-01-18 09:54:54 · 605 阅读 · 0 评论 -
caffe中文件参数设置(二):视觉层(Vision Layers)及其参数设置
本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling, Local Response Normalization (LRN), im2col等层。1、Convolution层:就是卷积层,是卷积神经网络(CNN)的核心层。层类型:Convolution lr_mult: 学习率的系数,最终的学习率是这个数乘以solver.prototxt配置文转载 2018-01-18 09:58:03 · 253 阅读 · 0 评论 -
Caffe中文件参数设置(三):激活层(Activiation Layers)及其参数设置
在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函数有sigmoid, tanh,relu等,下面分别介绍。1、Sigmoid对每个输入数据,利用sigmoid函数执行操作转载 2018-01-18 10:05:51 · 245 阅读 · 0 评论 -
caffe中文件参数设置(四):其它常用层及其参数设置
本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率(Likelihood),是Logistic Regression 的一种推广。Logistic R转载 2018-01-18 10:13:09 · 423 阅读 · 0 评论 -
Caffe中文件参数设置(五):Blob,Layer,Net以及对应配置文件的编写
深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描述了信息是如何存储的,以及如何在层之间通讯的。1、blobBlobs封装了运行时的数据信息,提供了C转载 2018-01-18 11:23:19 · 290 阅读 · 0 评论 -
Caffe中文件参数设置(七):solver优化方法
上文提到,到目前为止,caffe总共提供了六种优化方法:Stochastic Gradient Descent (type: "SGD"),AdaDelta (type: "AdaDelta"),Adaptive Gradient (type: "AdaGrad"),Adam (type: "Adam"),Nesterov’s Accelerated Gradient (type: "Nester转载 2018-01-18 11:32:21 · 558 阅读 · 0 评论 -
Caffe中文件参数设置(八):命令行解析
caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这个文件夹内。经过编译后,这些文件都被编转载 2018-01-18 11:35:16 · 226 阅读 · 0 评论 -
Caffe中文件参数设置(九-1):训练和测试自己的图片-linux版本
在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件?前面文章有学习过着个数据由来和使用。在caffe中,作者为我们提供了这样一个文件:conver转载 2018-01-18 11:58:29 · 600 阅读 · 0 评论 -
Caffe中文件参数设置(九-2):训练和测试自己的数据集-windows10版本
一、从网上自己下载数据集1.1我下载了两类图片,分别为“鸟”:30张;“猫”:30张(注意:随意下载即可) 二、数据集处理2.1批量重命名方法:将文件全部选中,然后右键点击重命名,修改如图所示:2.2批量转换图片大小(先预定设置成28*28)使用一般的看图软件就可以转换。(我这里使用2345看图王)注意:在样本转换为LEVEDB文件之前,需要把图片弄到同一大小,否则会出错。2.3准备训练和测试数据原创 2018-01-18 15:58:24 · 758 阅读 · 0 评论 -
Caffe运行过程中遇到的问题
一、问题如图问题描述:大概就是solver文件参数出现了问题,或者路径的问题。再次注意,路径中使用“/",不要用"\"解决办法,我把cifar10_quick_solver.prototxt和cifar10_quick_solver_prototxt直接复制过来,上述问题就不出现了,可以又出现问题二。如下:二、问题如图:问题描述:大概就是需要一直重新加载数据,所以我又去重新制作了一下数据集。还是这原创 2018-01-19 10:30:24 · 902 阅读 · 2 评论 -
关于测试自己的单张图片所需要的lenet.prototxt(deploy)文件
Depoly文件其实就是在刚刚定义定义层的参数的那个文件基础上进行修改的,delpoy文件只记录了网络结构,而并没有里面的反向计算,也不需要计算误差。我使用cifar10_quick_train_test.ptototxt进行修改,修改成对应的deploy文件.cifar10_quick_train_test.prototxt文件内容如下:name: "CIFAR10_quick"layer {转载 2018-01-19 15:12:24 · 995 阅读 · 0 评论 -
关于Caffe在最后测试单张数据集标签文档的问题
1、定义的synset_words.txt最后测试得分的时候,是和这个标签文件中所写的东西的位置是有关系的,不是想怎么写就怎么写。例如:标签文件先这样写好,然后测试:显示“10”分类最可能但是我将标签文件修改如下:再次测试:便得到这个图片,至于这个顺序是在哪里定下来的呢?在这个地方:原创 2018-01-21 10:32:28 · 308 阅读 · 1 评论 -
解决编译pycaffe时候出现缺少Python27_d.lib的解决方案
问题描述最近在使用caffe调用python接口进行可视化的时候,发现总是出现“no module named caffe”这个问题,经过查询,好像是没有编译pycaffe,然后返回caffe-master/windows找到Caffe.sln。然后找到对其右键重新生成(E),经过短暂的等待,出现了问题,问题描述:缺少Python27_d.lib。至于为啥是Python27原创 2018-01-23 11:44:24 · 5848 阅读 · 10 评论 -
axis_index < num_axes()(1 vs. 1) axis 1 out of range for 1-D Blob with shape*
问题如图:解决办法:在Layer层的设置上,去看一下是不是你的label和data放反了,如下图:这两个top的顺序不能颠倒,必须是先data,后label。原创 2018-02-05 14:26:58 · 1191 阅读 · 0 评论 -
label_value < num_labels(134 vs.134)
问题如图问题描述:就是在我训练刚开始的时候,还没出现loss和accuracy信息的时候就出现的问题。我这次训练一共134类,所以数字显示是134 vs.134解决方法:我就是改了一下drop层的括号就可以了。。。。。。他说的是accuracy_layer的信息,我改了一下dropout层的东西。貌似啥都没干,就好了。原创 2018-02-05 14:31:30 · 652 阅读 · 2 评论 -
Failed to parse NetParameter file; has no field named "layer"
问题描述:Error parsing text-format caffe.NetParameter:150:7: Message type "caffe.LayerParameter" has no field named"layer" Check failed:ReadProtoFromTextFile(param_file,param)Failed to pa原创 2018-02-05 14:40:49 · 3542 阅读 · 0 评论 -
accuracy=0,loss=1.#QNAN(* 1 = 1.#QNAN loss)
这个问题可就复杂了,从头描述以下:1、第一次训练遇到这个问题,如图然后网友说,caffe的图像标签要从0开始,而且如果是3分类的问题的话,最后输出层要大于训练集的类别数目才可以,所以他把最后一层全连接层的输出改为了4或1000(>3),这个1000分类是什么鬼我不知道,应该是他用来测试大于3行不行吧,然后网友含泪说自己可以了。but,我还是不行。紧接着我就发现了下图:不光是lo原创 2018-02-05 14:51:08 · 1827 阅读 · 1 评论 -
Check failed: proto SerializeToOstream(&output)
问题描述:这个问题我是在生成均值文件的时候提示的,我看网友们很多是在训练过程提示的。Check failed: proto.SerializeToOstream(&output)解决方法:我删掉了桌面的一些东西,竟然可以用了。感人,根本不知道是怎么解决的。(如果在训练过程中出现问题,网友们说是存储空间不够了,但是绝大多数都是linux系统出现的问题),我的系统是windows原创 2018-02-05 14:54:34 · 3025 阅读 · 0 评论 -
DL训练中电脑内存问题
本文主要译介自Graphcore在2017年1月的这篇博客: Why is so much memory needed for deep neural networks。介绍了深度学习中内存的开销,以及降低内存需求的几种解决方案。 为便于阅读,本文修改了原文分段,并添加更详细的计算说明。深度学习的内存消耗在哪里?回顾:简单例子考虑一个单层线...转载 2018-02-10 16:54:31 · 332 阅读 · 0 评论 -
Check failed:datum_height > = crop_size(32 vs.227)
根据提示,问题是crop_size的尺寸不匹配,该网络默认crop_size的尺寸是227*227,而我在数据的预处理阶段把数据处理成了32*32,所以会出现这个问题。解决办法:在train_val.prototxt文件中将其修改为32*32后就可以了。...原创 2018-02-15 09:31:44 · 1864 阅读 · 0 评论 -
Check failed: data_
问题描述:显示数据错误 因为我起初的数据处理成了28*28的,而该网络层数设置较多,导致网络进行到池化层pool5的时候,输入图像持仓已经小于kernel核的大小了。经过池化之后,下一步输入就变成了0*0,所以会报错。解决办法:减少层数,或者增大数据预处理尺寸,或者减小kernel核。这个问题就会解决了。...原创 2018-02-15 09:35:05 · 2771 阅读 · 8 评论 -
HEAP CORRUPTION DETECTED:before Normal block(#102584) at 0x00000243EA0CB070
问题描述:这是在训练途中发生的错误,在训练前期一切正常,所以从数据的预处理和网络层的配置应该都是没有问题的。 在迭 代到一定次数的时候发生了这个问题。(摘自网络)Debug error:Damage before/after normal block.如果编译器这样报错,几乎可以肯定是在程序中,数组访问越界。什么是normal block?在使用new 操作符为...原创 2018-02-15 09:40:11 · 1164 阅读 · 0 评论 -
Caffe-Windows下画loss与accuracy曲线
请注意如果.py文件中有中文,请在文件开头加上# -*- coding: utf-8 -*-,否则会报错yntaxError:Non-ASCII character '\xe6' in file,文章最后原博主给的下载代码中没有这句话,需要大家手动加上。另外代码是Python2.7版本的,如果是Python3版本的,运行会出错,解决方案请参考http://blog.csdn.net/zyx1995...原创 2018-03-28 20:56:23 · 655 阅读 · 0 评论 -
batch_size的理解
1.当数据量足够大的时候可以适当的减小batch_size,由于数据量太大,内存不够。但盲目减少会导致无法收敛,batch_size=1时为在线学习。2.batch的选择,首先决定的是下降方向,如果数据集比较小,则完全可以采用全数据集的形式。这样做的好处有两点, 1)全数据集的方向能够更好的代表样本总体,确定其极值所在。 2)由于不同权重的梯度值差别巨大,因此选取一个全局的学习率很困难。3...转载 2018-03-31 08:20:57 · 9744 阅读 · 0 评论 -
Cannot copy param 0 weights from layer 'conv1'; shape mismatch.
当我使用训练好的caffemodel准备测试一下图片的时候,我定义了deploy.prototxt文件,然后利用bat脚本进行测试,发现报错,错误如下:错误解决:打开我的deploy.prototxt文件,把Input_param中的数据改掉,把1通道改为3通道,shape参数的意思:第一个参数表示batch_size,第二个参数表示通道(彩色为3通道),剩下两个表示图像大小,我用的是黑白图像,所...原创 2018-04-09 08:55:23 · 3172 阅读 · 0 评论 -
在转换LEVELDB数据时候出现的 -abort() has been called错误
错误描述如下图:原因:这是因为在转换数据集的时候,放置原始数据集的文件夹命名含有非法字符,比如我的文件夹就含有了空格,如下图只要把空格取消掉就可以了。问题解决。...原创 2018-04-16 08:01:13 · 404 阅读 · 0 评论 -
label_value 小于 num_labels(124 vs. 100)
问题描述:这是一个100分类的问题,但是我是从一个100多分类中直接截去的,所以标签不是从0开始,且标签整数不连续。设置好以后进行训练。得到下图:错误提示: 显示是label的值小于labels的数量。预修改方案:在网上查找资料后说,标签必须从0开始且整数必须连续,所以准备照这样修改一下,预计后面结果,我会实时更新,有其它意见的小伙伴可以在下方留言。caffe中,单一标签的分类任务中一般在Accu...原创 2018-05-23 22:04:04 · 762 阅读 · 0 评论 -
利用已有Caffemodel进行风格迁移
1 首先在 https://github.com/fzliu/style-transfer 把代码下载下来,另外主要这个代码基于pycaffe的,需要将pycaffe编译好。注意:编译pycaffe的时候可能会遇到提示缺少Python27_d.lib,解决方案参考以下博文,https://blog.csdn.net/kele_imon/article/details/79137876可以完美解决,...原创 2018-06-14 16:22:41 · 832 阅读 · 1 评论