Minst训练

我的路径:G:\Caffe\Caffe For Windows\examples\mnist 

对于新手来说,初步完成环境的配置后,一脸茫然。不知如何跑Demo,有么有!那么接下来的教程就是我们这些新手的福利了。 
第一步:如果前面的train_net.cpp编译通过了,那么这个就非常简单。Caffe训练和测试的数据都是需要leveldb格式的,niuzhiheng大牛已经给我们转好了MNIST的数据格式。如下图: 

第二步:如上图所示,文件夹下有个get_mnist_leveldb.bat
,双击就可以下载到MNIS的leveldb文件。不能翻墙的,就到:http://download.csdn.net/detail/u012878523/8140305 下载吧。下载完 解压到…\examples\mnist 文件夹下。网络参数可以再lenet_train.prototxt中修改。GPU和CPU的切换在lenet_solver.prototxt中,打开后代码如下所示:

# The training protocol buffer definition
train_net: "lenet_train.prototxt"
# The testing protocol buffer definition
test_net: "lenet_test.prototxt"
# test_iter specifies how many forward passes the test should carry out.
# In the case of MNIST, we have test batch size 100 and 100 test iterations,
# covering the full 10,000 testing images.
test_iter: 100
# Carry out testing every 500 training iterations.
test_interval: 500
# The base learning rate, momentum and the weight decay of the Network.
base_lr: 0.01
momentum: 0.9
weight_decay: 0.0005
# The learning rate policy
lr_policy: "inv"
gamma: 0.0001
power: 0.75
# Display every 100 iterations
display: 100
# The maximum number of iterations
max_iter: 10000
# snapshot intermediate results
snapshot: 5000
snapshot_prefix: "lenet"
# solver mode: CPU or GPU
solver_mode: GPU #两种方式二选一
#solver_mode: CPU

第三步:双击train_lenet。bat就可以训练该网络。每500轮进行一次测试。Tset Score 0是正确率。Test Score 1是测试损失函数值。上两张训练图: 



然后准确率的变化: 


损失函数值的变化: 


每迭代100次输出一次训练比率lr和训练损失函数值loss,模型的参数存储在lenet_iter_10000.solverstate中,然后这个模型就可以应用在新数据上了。

至此,minst的训练demo到此结束。然后试试cifar-10!

CIFAR-10 训练

第一步:数据库的说明:CIFAR-10 

60000张 32X32 彩色图像 10类 

50000张训练 

10000张测试 

附上一个的deeplearning的常用数据集下载链接,赶紧默默的收藏吧: 

http://deeplearning.net/datasets/ 


这是binary格式的,所以我们要把它转换成leveldb格式。

第二步:(部分直接复制别人的,因为没看到原作者是谁,所以就不上链接了。) 

/examples/cifar10文件夹中有一个 convert_cifar_data.cpp 

将他include到MainCaller.cpp中。如下: 


然后就编译,博主一次就通过了 ,在bin文件夹里出现convert_cifar_data.exe。 

接下来就可以进行格式转换。binary→leveldb。可以在bin文件夹下新建一个input文件夹。将cifar10.binary文件放在input文件夹中,这样转换时就不用写路径了。 

然后cmd进入bin文件夹,执行convert_cifar_data.exe后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。

第三步:下面我们要求数据图像的均值编译../../tools/comput_image_mean.cpp 


编译成功后,没有出现comput_image_mean.exe。没关系,我们还有maincaller.exe,接下来求mean 

cmd进入bin,执行后,在bin文件夹下出现一个mean.binaryproto文件,这就是所需的均值文件。

第四步:训练cifar网络 

在…/examples/cifar10文件夹里已经有网络的配置文件,我们只需要将cifar_train_leveldb和cifar_test_leveldb两个文件夹还有mean.binaryproto文件拷到cifar0文件夹下。 
修改cifar10_quick_train.prototxt中的source: “cifar-train-leveldb” mean_file: “mean.binaryproto” 和cifar10_quick_test.prototxt中的source: “cifar-test-leveldb” mean_file: “mean.binaryproto”就可以了, 

后面再训练就类似于MNIST的训练。写一个train_quick.bat,内容如下: 

copy..//..//bin//MainCaller.exe..//..//bin//train_net.exeSETGLOG_logtostderr=1”../../bin/train_net.exe” cifar10_quick_solver.prototxt pause 

先编译一遍 train_net.cpp 

运行train_quick.bat,结果如下: 

备注: 

另外,更改cifar*solver.prototxt文件可以使用CPU训练, 

solver mode: GPU 

solver_mode: CPU 

可以看看CPU和GPU训练的差别。

【神经网络与深度学习】基于Windows+Caffe的Minst和CIFAR—10训练过程说明的更多相关文章

  1. 【神经网络与深度学习】转-caffe安装吐血总结

    这周安装了caffe的windows版本和Linux版本,依赖关系太多,如果系统选对了,安装起来很easy,选错了,就会遇见各种坑. 1.操作系统最好使用ubuntu desktop 14.04 64 ...

  2. 【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置过程说明 标签:[Qt开发] 说明:这个工具在Windows上的配置真的是让我纠结万分,大部分 ...

  3. 【神经网络与深度学习】Caffe部署中的几个train-test-solver-prototxt-deploy等说明

    1:神经网络中,我们通过最小化神经网络来训练网络,所以在训练时最后一层是损失函数层(LOSS), 在测试时我们通过准确率来评价该网络的优劣,因此最后一层是准确率层(ACCURACY). 但是当我们真正 ...

  4. 【神经网络与深度学习】【Qt开发】【VS开发】从caffe-windows-visual studio2013到Qt5.7使用caffemodel进行分类的移植过程

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二> 标签:[神经网络与深度学习] [CUDA开发] ...

  5. 【神经网络与深度学习】学习笔记:AlexNet&Imagenet学习笔记

    学习笔记:AlexNet&Imagenet学习笔记 ImageNet(http://www.image-net.org)是李菲菲组的图像库,和WordNet 可以结合使用 (毕业于Caltec ...

  6. (转)神经网络和深度学习简史(第一部分):从感知机到BP算法

    深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...

  7. 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试

    [神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...

  8. 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程

    [神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...

  9. [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...

随机推荐

  1. SQL Server判断表中某字段是否存在【转】

    --比如说要判断表A中的字段C是否存在两个方法: 一, IF EXISTS ( FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID W ...

  2. jquery which事件 语法

    jquery which事件 语法 作用:which 属性指示按了哪个键或按钮.大理石平台精度等级 语法:event.whic 参数: 参数 描述 event     必需.规定要检查的事件.这个 e ...

  3. windows如何正确下载补丁包

    今天公司让给windows安装补丁,打开链接,我蒙蔽了,这么多包要下载哪个腻?下面来跟杨老师一起学习一下如何确定windows版本,下载正确的补丁包. 首先先看一下下载补丁的页面,懵~~ 登录你需要安 ...

  4. 互联网_http协议

    一.定义 http协议叫做超文本传输协议,是从web服务器传输超文本到本地浏览器的协议. 二.特征 1.无连接:即每次连接仅处理一个请求,服务器处理完客户的请求,并收到客户端的响应后,即断开连接.采用 ...

  5. 黑马lavarel教程---8、session

    黑马lavarel教程---8.session 一.总结 一句话总结: 1.session默认保存在文件中 2.使用的话通过Session门面或者辅助函数 1.lavarel中session的保存方式 ...

  6. moment 时间格式化

    使用方法: 引入 moment 的包 moment(要处理的时间).format(时间的格式): vue 的过滤器为例: str 代表要处理的时间  orf 代表 时间的格式

  7. ActiveMQ配置文档

    本文介绍一对一.一对多.持久化.非持久化消息配置方式 一.创建项目 导入jar 二.创建MQ.xml <!-- 配置JMS连接工厂 --> <bean id="connec ...

  8. electron创建窗口常用配置参数

    { "width": 800,//指定窗口的宽度,单位: 像素值. 默认是 800 "height":600,//指定窗口的高度,单位: 像素值,. 默认是 6 ...

  9. CSS 有序或者无序列表的前面的标记 list-style-type 属性

    例子: <html> <head> <style type="text/css"> ul.none{list-style-type:none} ...

  10. robotframework 配置过程中遇到的问题

    现有环境配置:操作系统: Win7 32bitPython 2.7.8Python 3.5.2Pycharm Community Edition 2016.3.2robotframework: 3.0 ...