准备拿几个caffe官方案例用来练习,就看到了caffe中的官方案例有cifar-10数据集。于是练习了一下,在CPU情况下构建quick模型。主要参考博客:liumaolincycle的博客

配置:win10下虚拟机,ubuntu 16.04

虚拟机安装:

win10系统搭建虚拟机:VMware Workstation Player 12环境+Ubuntu Kylin 16.04 LTS系统

caffe安装:caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记

本案例图片是帮你处理过了,尺寸变化、图像像素均值文件都已经给出了。

————————————————————————————————————

一、数据集准备

本实验使用的数据集是CIFAR-10,一共有60000张32*32的彩色图像,其中50000张是训练集,另外10000张是测试集。数据集共有10个类别,分别如下所示

数据通过一个命令会帮你下载,并且帮你计算好。图像均值文件等。

cd /CAFFE
sudo /data/cifar10/get_cifar10.sh  #该脚本会下载二进制的cifar,并解压,会在/data/cifar10中出现很多batch文件
sudo /examples/cifar10/create_cifar10.sh  #运行后将会在examples中出现数据集./cifar10_xxx_lmdb和数据集图像均值./mean.binaryproto

一定要先定位在caffe文件夹下面,以下代码才可以运行成功。下载数据会比较慢。

————————————————————————————————————

二、设置solver

由于一些虚拟机没有能用的GPU所以需要修改一下solver文件。

linux修改可以用vim 也可以用gedit ,笔者不是特别会用vim,所以对gedit使用的较多。

建模的是quick所以需要修改的文件是:cifar10_quick_solver.prototxt

————————————————————————————————————

三、训练

直接调用.sh文件就可以开始训练了。

cd $CAFFE
 ./examples/cifar10/train_quick.sh  #先以0.001的学习率迭代4000次,再以0.01的学习率接着再迭代1000次,共5000次

一定要定位在caffe文件夹下,然后执行train_quick.sh文件就可以开始训练啦

还有full模型,full模型比quick模型迭代次数多,一共迭代70000次,前60000次学习率是0.001,中间5000次学习率是0.0001,最后5000次学习率是0.00001。full模型的网络层数也比quick模型多。

测试准确率也比quick模型高,大约有0.82。

可以看到每一层的详细信息、连接关系及输出的形式,方便调试。

初始化后开始训练:

在solver的设置中,每100次迭代会输出一次训练损失,测试是500次迭代输出一次:

训练阶段,lr是学习率,loss是训练函数。测试阶段,score 0是准确率,score 1是损失函数。最后的结果:

测试准确率大约有0.75,模型参数存储在二进制protobuf格式的文件cifar10_quick_iter_5000中。

————————————————————————————————————

参考文献:

1、liumaolincycle的博客

2、官网链接:http://caffe.berkeleyvision.org/gathered/examples/cifar10.html

caffe︱cifar-10数据集quick模型的官方案例的更多相关文章

  1. 【翻译】TensorFlow卷积神经网络识别CIFAR 10Convolutional Neural Network (CNN)| CIFAR 10 TensorFlow

    原网址:https://data-flair.training/blogs/cnn-tensorflow-cifar-10/ by DataFlair Team · Published May 21, ...

  2. Caffe系列4——基于Caffe的MNIST数据集训练与测试(手把手教你使用Lenet识别手写字体)

    基于Caffe的MNIST数据集训练与测试 原创:转载请注明https://www.cnblogs.com/xiaoboge/p/10688926.html  摘要 在前面的博文中,我详细介绍了Caf ...

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

    [caffe]深度学习之图像分类模型AlexNet解读 原文地址:http://blog.csdn.net/sunbaigui/article/details/39938097   本文章已收录于: ...

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

    一.简单介绍 vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper.跟googlenet不同的是.vgg继承了lenet以及alexnet ...

  5. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  6. caffe使用ctrl-c不能保存模型

    caffe使用Ctrl-c 不能保存模型: 是因为使用的是 tee输出日志 解决方法:kill -s SIGINT <proc_id> 或者使用 GLOG_log_dir=/path/to ...

  7. windows下使用caffe测试mnist数据集

    在win10机子上装了caffe,感谢大神们的帖子,要入坑caffe-windows的朋友们看这里,还有这里,安装下来基本没什么问题. 好了,本博文写一下使用caffe测试mnist数据集的步骤. 1 ...

  8. 黑马lavarel教程---10、lavarel模型关联

    黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...

  9. 【实践】如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统)

    如何利用tensorflow的object_detection api开源框架训练基于自己数据集的模型(Windows10系统) 一.环境配置 1. Python3.7.x(注:我用的是3.7.3.安 ...

随机推荐

  1. 【转】linux shell ${}简单用法

    为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能: 假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 我们可以用 ${ } 分别替换获得不 ...

  2. Sql Server的艺术(六) SQL 子查询,创建使用返回多行的子查询,子查询创建视图

    子查询或内部查询或嵌套查询在另一个SQL查询的查询和嵌入式WHERE子句中. 子查询用于返回将被用于在主查询作为条件的数据,以进一步限制要检索的数据. 子查询可以在SELECT,INSERT,UPDA ...

  3. 09_Python深拷贝、浅拷贝

    一.循环列表,删除其中的元素 l1 = [1,2,3,4,5,6,7]  循环删除奇数位元素 1.正序循环删除,会出现越界情况,所以采用倒叙的方式删除 l1 = [1,2,3,4,5,6,7] for ...

  4. Nodejs的运行原理-函数回调篇

    前言 当客户端向http server 发起TCP链接时,server端会发起一系列的callback调用,这是一个逆向调用的过程:开始于libuv,终止于js代码里的callback(promise ...

  5. 基于Appium1.6.X的WebDriverAgent编译、安装

    转自:http://www.cnblogs.com/baconLiu/p/6861431.html tips:WebDriverAgent是Appium1.6.3以后版本新添加的模块,为了让appiu ...

  6. Selenium_WebDriver_定位元素

    版权声明:本文为博主原创文章,转载请注明出处. 定位单个元素 WebDriver提供了八种元素定位方法,Java中定位语句形如:driver.findElement(By.id()): 何为元素定位? ...

  7. LearnPython_week2

    1.    列表.元组 2.    字典 3.    集合 4.    字符串的各种姿势 5.    OPEN文件操作 1.   列表.元组 列表 names = ['wong','caiyun',' ...

  8. ansible 检查大量客户端的文件与配置情况

    ansible pro_adservers -m command -a 'w' ansible pro_adservers -m command -a 'hostname' ansible pro_a ...

  9. 安装kvm模块配置网络

    1. vmware安装centos6.6 64位 (略) 其中有几个注意的地方:a. 内存给2gb. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件c. 最关键的一步,在创建虚拟机时,cpu ...

  10. python函数的面向对象——面向对象设计

    通过几个函数式编号演进,理解面向对象设计 def01.py dog1 = { 'name':'元昊', 'gender':'母', 'type':'藏獒' } dog2 = { 'name':'李李' ...