Caffe 学习笔记1

本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权

欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing

这篇博客是caffe官网的一片例程吧,只是熟悉一下操作而已

http://caffe.berkeleyvision.org/gathered/examples/cifar10.html

1、准备数据

cd /home/wangshuo/caffe (这个路径为caffe安装路径)

./data/cifar10/get_cifar10.sh

./examples/cifar10/create_cifar10.sh

运行之后将会有图像均值二进制文件./mean.binaryproto和数据库文件./cifar10_test_lmdb和cifar10_train_lmdb文件夹

2、模型简介

Cifar10是一个由卷积层,池化层,非线性变换层,线性函数RELU,以及在顶端的局部对比归一化的线性分类器组成,该模型在/caffe/examples/cifar10文件夹下面,该文件为名称为cifar10_quick_train_test.prototxt

3、训练和测试该模型

当你写好的网络参数的,设置文件就可以运行train_quick.sh文件

cd $CAFFE_ROOT

./examples/cifar10/train_quick.sh

train_quick.sh 是一个简单的脚本文件,打开它可以看到训练工具叫caffe执行训练操作,然后根据的参数是slover protobuf所设置的。

执行该脚本文件:输出:

I0317 21:52:48.945710 2008298256 net.cpp:74] Creating Layer conv1

I0317 21:52:48.945716 2008298256 net.cpp:84] conv1 <- data

I0317 21:52:48.945725 2008298256 net.cpp:110] conv1 -> conv1

I0317 21:52:49.298691 2008298256 net.cpp:125] Top shape: 100 32 32 32 (3276800)

I0317 21:52:49.298719 2008298256 net.cpp:151] conv1 needs backward computation.

这个信息告诉我们每一层的组成和输出形式,初始化完毕,开始训练。

I0317 21:52:49.309370 2008298256 net.cpp:166] Network initialization done.

I0317 21:52:49.309376 2008298256 net.cpp:167] Memory required for Data 23790808

I0317 21:52:49.309422 2008298256 solver.cpp:36] Solver scaffolding done.

I0317 21:52:49.309447 2008298256 solver.cpp:47] Solving CIFAR10_quick_train

根据设置的solver,每迭代100次就会输出训练的学习率和训练损失函数,每迭代500次会测试一次,输出准确率score 0和测试损失函数score 1

I0317 22:12:19.666914 2008298256 solver.cpp:87] Iteration 5000, Testing net

I0317 22:12:25.580330 2008298256 solver.cpp:114] Test score #0: 0.7533

I0317 22:12:25.580379 2008298256 solver.cpp:114] Test score #1: 0.739837

I0317 22:12:25.587262 2008298256 solver.cpp:130] Snapshotting to cifar10_quick_iter_5000

I0317 22:12:25.590215 2008298256 solver.cpp:137] Snapshotting solver state to cifar10_quick_iter_5000.solverstate

I0317 22:12:25.592813 2008298256 solver.cpp:81] Optimization Done.

最后得到这个模型的测试准确率达到75%,模型参数会被写到一个文件里头

cifar10_quick_iter_5000

4、其他

更改cifar*solver.prototxt文件,可以修改训练的方式,是用GPU还是用cpu

# solver mode: CPU or GPU

solver_mode: CPU

5、遇到的问题

问题:在执行create_cifar10.sh时,提示文件convert_cifar_data.bin不存在。

解决方法:上面命令./create_cifar10.sh必须在根目录下运行

参考:http://caffe.berkeleyvision.org/gathered/examples/cifar10.html

Caffe 学习笔记1的更多相关文章

  1. Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)

    0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windo ...

  2. Caffe学习笔记(三):Caffe数据是如何输入和输出的?

    Caffe学习笔记(三):Caffe数据是如何输入和输出的? Caffe中的数据流以Blobs进行传输,在<Caffe学习笔记(一):Caffe架构及其模型解析>中已经对Blobs进行了简 ...

  3. Caffe学习笔记(二):Caffe前传与反传、损失函数、调优

    Caffe学习笔记(二):Caffe前传与反传.损失函数.调优 在caffe框架中,前传/反传(forward and backward)是一个网络中最重要的计算过程:损失函数(loss)是学习的驱动 ...

  4. Caffe学习笔记(一):Caffe架构及其模型解析

    Caffe学习笔记(一):Caffe架构及其模型解析 写在前面:关于caffe平台如何快速搭建以及如何在caffe上进行训练与预测,请参见前面的文章<caffe平台快速搭建:caffe+wind ...

  5. Caffe学习笔记4图像特征进行可视化

    Caffe学习笔记4图像特征进行可视化 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit201 ...

  6. Caffe学习笔记3

    Caffe学习笔记3 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和h ...

  7. Caffe学习笔记2

    Caffe学习笔记2-用一个预训练模型提取特征 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hi ...

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

    1 收集自己的数据 1-1 我的训练集与测试集的来源:表情包 由于网上一幅一幅图片下载非常麻烦,所以我干脆下载了两个eif表情包.同一个表情包里的图像都有很强的相似性,因此可以当成一类图像来使用.下载 ...

  9. CAFFE学习笔记(四)将自己的jpg数据转成lmdb格式

    1 引言 1-1 以example_mnist为例,如何加载属于自己的测试集? 首先抛出一个问题:在example_mnist这个例子中,测试集是人家给好了的.那么如果我们想自己试着手写几个数字然后验 ...

随机推荐

  1. 【Python】ORM框架SQLAlchemy的使用

    ORM和SQLAlchemy简介 对象关系映射(Object Relational Mapping,简称ORM),简单的来说,ORM是将数据库中的表与面向对象语言中的类建立了一种对应的关系.然后我们操 ...

  2. CentOS 安装MariaDB

    1.安装 #同时安装mariadb和mariadb-server [root@bigdata-senior01 yum.repos.d]# yum -y install mariadb mariadb ...

  3. Android <Android应用开发实战> 资源类型<二>

    1.菜单资源菜单不仅可以在onCreateContextMenu或onCreateOptionsMenu方法中通过代码创建,还可以在res/menu目录中建立相应的菜单资源文件,并在上面两个方法中加载 ...

  4. POJ1279:Art Gallery——题解

    http://poj.org/problem?id=1279 题目大意:给按照顺时针序的多边形顶点,问其内核可行区域面积. —————————————————————————————— 终于变了一点… ...

  5. MySQL安装出现“不是内部或外部命令,也不是可执行程序”等一系列问题的解决方案

    MySQL安装出现“不是内部或外部命令,也不是可执行程序” 一.这是应该是环境变量处问题了,设置如下: 1)右击我的电脑选择“属性”,找到“高级系统设置” 2)在系统属性下,选择“高级”中的“环境变量 ...

  6. bzoj 3673&3674 可持久化并查集&加强版(可持久化线段树+启发式合并)

    CCZ在2015年8月25日也就是初三暑假要结束的时候就已经能切这种题了%%% 学习了另一种启发式合并的方法,按秩合并,也就是按树的深度合并,实际上是和按树的大小一个道理,但是感觉(至少在这题上)更好 ...

  7. iOS-查询数据库-->指定数据表中的当前数据行的总数量

    很多时候,我们在查询一个表的时候,不想得到里面的记录内容,只是想简单的得到符合查询条件的记录条数. FMDB中有一个很简单的方法就可以实现,见下面的代码实例: #import "FMdata ...

  8. HDU 5640

    King's Cake Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  9. noip模拟赛 大芳的逆行板载

    题目背景 大芳有一个不太好的习惯:在车里养青蛙.青蛙在一个n厘米(11n毫米s)的Van♂杆子上跳来跳去.她时常盯着青蛙看,以至于突然逆行不得不开始躲交叉弹.有一天他突发奇想,在杆子上每1厘米为一个单 ...

  10. bzoj 4069 [Apio2015]巴厘岛的雕塑 dp

    [Apio2015]巴厘岛的雕塑 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 494  Solved: 238[Submit][Status][Dis ...