博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上手Caffe(二)
阅读量:5840 次
发布时间:2019-06-18

本文共 1917 字,大约阅读时间需要 6 分钟。

@author:oneBite

本文简述如何在windows环境下,运行caffe的“hello world”例程
体会适用caffe的流程:转换输入数据格式>在solver.prototxt中配置训练参数,在train.prototxt中配置网络结构和输入输出、激活函数>调用caffe train and test

"hello world"-运行识别手写数字的例程

先简要概述Linux下的运行caffe helloworld例程过程

编译caffe>下载相应的训练数据到指定目录>然后运行sh文件训练和测试即可。
Shell脚本所做的主要工作,调用编译得到相应的bin文件:
1 将输入数据转化到指定的数据格式-LMDB。文件夹中附有源码:vert_mnist_data.cpp;
2 运行caffe命令(即caffe.bin,是编译得到的可执行文件),训练网络>测试数据。在命令行中运行caffe –help可以看到些许帮助。

Windows

而windows下,solution编译之后也获得了很多exe文件,运行例程时,需要我们自己调用exe文件执行跟linux上一样的逻辑。
在vs2013中,可以看到编译生成的可执行文件的输出路径。
在project的properties>general>Output Directory中
其中的变量可以参看https://msdn.microsoft.com/en-us/library/c02as0cs.aspx。在本机上,目录是caffe-windows\caffe-windows\Build\x64\Debug。
本次例程需要使用convert_mnist_data.exe,caffe.exe

查看命令帮助:

E:\work17\caffe-windows\caffe-windows\Build\x64\Debug>
.\convert_mnist_data.exe –help
使用命令时,也可以参看linux端的sh文件中是如何调用相应的bin文件的,有一定的参考价值。Caffe官方并没有给出较为详细的reference手册。
convert_mnist_data.exe用于将mnist上下载的数据集转化为lmdb数据格式。可以看一下convert_mnist_data的源代码,了解lmdb格式内容。
命令使用格式 [flag] 输入数据 输入label文件 输出文件夹

 

Windows process

上述大致介绍了caffe运行的原理。注意调用命令时,cmd所处的目录为caffe的主目录,本机为E:\work17\caffe-windows\caffe-windows。

1 调用convert_mnist_data。

E:\work17\caffe-windows\caffe-windows>路径\convert_mnist_data \解压之后的image文件 \解压之后的label文件 \文件输出目录
运行一次之后,在指定的输出目录下就会出现data.mdb和lock.mdb文件

2 调用caffe,训练网络权值。(还是要注意运行exe时,cmd所处的当前目录)

\目录\caffe.exe train --solver=\目录\lenet_solver.prototxt
#solver.prototxt#
定义了训练时所需的参数
内容摘要:
#定义了描述训练网络结构的prototxt文件的位置
net: "examples/mnist/lenet_train_test.prototxt"
# solver mode: CPU or GPU,这里需要进行更改,因为上次编译的caffe,修改了config文件,编译得到的是不适用GPU的caffe.exe
solver_mode: CPU

#lenet_train_test.prototxt#

在lenet_train_test中设置训练和测试的数据来源 backend,大概格式的意思
data_param {
source: "examples/mnist/mnist_train_lmdb"
batch_size: 64
backend: LMDB
}

3 调用caffe,测试网络。

权值文件 caffemodel
caffe test -model train_test.prototxt -weights xxxx.caffemodel -iteration 100

转载于:https://www.cnblogs.com/ceo1207/p/6492119.html

你可能感兴趣的文章
reinterpret_cast强制类型转换
查看>>
我的mint mvc
查看>>
我的友情链接
查看>>
如何将Ubuntu 10.04 LTS 的窗口控制按钮从左上角调整到右上角
查看>>
Oracle_071_lesson_p18
查看>>
深入理解java注解的实现原理
查看>>
vsFTPd的553 Could not create file 错误
查看>>
view中使用监听
查看>>
python笔记(1.4-1.5)
查看>>
gitlab的启动报错问题
查看>>
无懈可击之完美dns架构
查看>>
corosync/openais+pacemaker实现web的高可用性
查看>>
mono android 非UI线程操作UI线程
查看>>
elk---日志收集
查看>>
数据库开发 - SQL注入与防范
查看>>
Symfony 2.2 新的url生成选项
查看>>
软件更新要求
查看>>
MySQL Replication主主复制—(实例)
查看>>
javascript的使用(2)函数的使用
查看>>
zookeeper下载安装
查看>>