caffe的学习和使用·一」--使用caffe训练自己的数据

学习知识的一种方式是先会用然后再问为什么。

在安装完成caffe,根据caffe的提示下载完mnist训练测试数据,并且运行lenet训练模型之后,摆在眼前的问题就是我怎么用caffe训练自己的数据啊,mnist的数据通过脚本就可以下载创建成lmdb,我要训练自己的数据集该怎么做?

用caffe训练自己的数据,必须解决的问题有两个:1.如何输入数据, 2.如何定义输出

首先我们解决第一个问题:训练数据的输入,这里我们之介绍使用lmdb的方式

查看lenet的train_val.prototxt,数据的输入是通过data layer中的source参数指定的,并且输入数据的格式指定为lmdb,如果我们能够把我们的数据转换成lmdb,就可以作为输入数据,通过修改source的路径输入到网络中进行训练。在caffe目录下 的create_imagenet.sh脚本提供了一个将我们自己的数据转换成lmdb格式的模板,我们可以通过修改create_imagenet.sh脚本的方式生成自己的数据,需要修改的地方包括:输出文件的路径EXAMPLE,我们自己的数据存储路径DATA,我们的训练数据所在的路径TRAIN_DATA_ROOT和测试数据所在的路径TEST_DATA_ROOT,输出的lmdb数据的全名,如果需要对图片进行resize的话,需要将RESIZE设置为true,然后再设置RESIZE的HEIGHT和WIDTH。做了这些离生成自己的lmdb数据还差一步,在脚本中还有train.txt和val.txt,这两个文本是做什么的?train.txt和val.txt是对数据的描述,给出了每一个数据的类别,并且数据的类别最好从0开始,我们在生成lmdb之前,需要为我们自己的数据生成这两个文件,和我们的训练数据放置在同一个目录下,然后就可以运行脚本生成我们自己的训练数据。

在生成自己的lmdb数据之后,就可以修改train_val.prototxt,将自己的数据输入到网络中。

输入我们自己的数据之后,还有一个问题,就是我们数据的输出怎么办,假如我们的数据有10个类别,我在哪里输入到模型中?输出的定义查看LOSS层或者Accuracy层的上一层,修改盖层的num_output就可以了

然后就可以开始训练了,在进行训练时需要知道训练的参数在solver.prototxt和train_val.prototxt中都有定义,batch_size定义了每次取多少个数据进行训练或者测试,max_iter定义最大的迭代次数,test_iter定义了测试的次数,为了保证所有的数据都被测试test_iter和测试batch_size的乘积需要大于等于测试数据的总数。

时间: 2024-10-13 23:52:06

caffe的学习和使用·一」--使用caffe训练自己的数据的相关文章

Ubuntu 14.04 安装caffe深度学习框架

简介:如何在ubuntu 14.04 下安装caffe深度学习框架. 注:安装caffe时一定要保持网络状态好,不然会遇到很多麻烦.例如下载不了,各种报错. 一.安装依赖包 $ sudo apt-get install git$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler $ sudo apt-get ins

caffe windows学习:第一个测试程序

caffe windows编译成功后,就可以开始进行测试了.如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64) 一般第一个测试都是建议对手写字体minist进行识别.这个测试放在根目录下的 .\examples\mnist\ 文件夹内. 1.下载数据.程序本身不带测试数据,需要去下载,测试数据为leveldb格式.你可以直接双击运行“get_mnist_leveldb.bat”  这个脚本自动下载数据,但一般都不成功,可能里面的网址被墙

[caffe]深度学习之图像分类模型VGG解读

一.简介 vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper.跟googlenet不同的是,vgg继承了lenet以及alexnet的一些框架,尤其是跟alexnet框架非常像,vgg也是5个group的卷积.2层fc图像特征.一层fc分类特征,可以看做和alexnet一样总共8个part.根据前5个卷积group,每个group中的不同配置,vgg论文中给出了A~E这五种配置,卷积层数从8到16递增.从论文中可以看到从8到16随着

【转】[caffe]深度学习之图像分类模型AlexNet解读

[caffe]深度学习之图像分类模型AlexNet解读 原文地址:http://blog.csdn.net/sunbaigui/article/details/39938097 本文章已收录于:  深度学习知识库  分类: deep learning(28)  版权声明:本文为博主原创文章,未经博主允许不得转载. 在imagenet上的图像分类challenge上Alex提出的alexnet网络结构模型赢得了2012届的冠军.要研究CNN类型DL网络模型在图像分类上的应用,就逃不开研究alexn

CAFFE学习笔记(一)Caffe_Example之训练mnist

0.参考文献 [1]caffe官网<Training LeNet on MNIST with Caffe>; [2]薛开宇<读书笔记4学习搭建自己的网络MNIST在caffe上进行训练与学习>([1]的翻译版,同时还有作者的一些注解,很赞); 1.*.sh文件如何执行? ①方法一:有sh后缀名的是linux脚本文件,在windows下为了执行这个文件,应该下载Git.然后对于sh文件右键,打开方式,选择git-bash.exe. ②方法二:直接将后缀名改成“bat”然后双击. 2.

Caffe 深度学习框架上手教程

本文来源:http://suanfazu.com/t/caffe/281 本文的主要目的保存一个链接,建议阅读原文. Caffe(Convolutional Architecture for Fast Feature Embedding)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作. Caffe是纯粹的C++/CUDA架构,支持命令行.Python和MATLAB接口:可以在CPU和GPU直接无缝切换: Caffe::set_mode(

CAFFE学习笔记(五)用caffe跑自己的jpg数据

1 收集自己的数据 1-1 我的训练集与测试集的来源:表情包 由于网上一幅一幅图片下载非常麻烦,所以我干脆下载了两个eif表情包.同一个表情包里的图像都有很强的相似性,因此可以当成一类图像来使用.下载个eif解压包可以把eif文件解压成gif和jpg格式的文件,然后删除gif文件,只留下jpg格式的文件,这些图就是我的训练集与测试集了. 1-2 使用rename批量重命名图像 (1)对于一个存放了图像src.jpg的文件夹ROOT,在ROOT中新建一个test.txt文件,在里面写下"renam

Caffe入门学习规划

第一步,学习吴恩达老师的慕课 ,注意做笔记,并将不会的问题记录下来 第二步,学习周志华老师的<机器学习>,要求同上 第三步,学习由CaffeCN提供的<Caffe官方教程中译本> 第四步,全面浏览Caffe官方网站 第六步,开始进行Caffe深度学习框架的使用,之前需要进行Docker的学习 第七步,运行Caffe上自带的MNIST手写数字识别实例 第八步,寻求识别率的提高,可供参考的网站,CSDN博客,cnblogs博客,中国知网 ,百度学术,谷歌学术镜像,谷歌搜索,Bing搜索

【21天实战Caffe】学习笔记(一)Ubuntu16.04+Caffe环境搭建

安装前准备工作: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev sudo apt-get install th