专栏首页Deep learning进阶路caffe随记(六)---tools工具举例

caffe随记(六)---tools工具举例

经过前面几篇博文的介绍,我们已经对caffe有了个大概的了解,知道它的数据结构,而且也尝试了caffe的Hello World---mnist例程。

前一篇博文介绍了tools工具中caffe.bin的用法,索性我这一篇继续来看一看tools其他工具

可以看到有很多可执行文件,我就举几个常用的例子

1、compute_image_mean.bin(计算图像平均值)

一般在数据读取层的Transform阶段,需要去均值操作。均值文件一般需要用原始数据计算得到,caffe提供了计算均值的工具

返回根目录下执行 ./build/tools/ compute_image_mean.bin

显示这个工具的用法:

compute_image_mean   [参数]  INPUT_DB [输出文件夹]

参数中就是选择输入数据的类型leveldb 还是lmdb,默认为lmdb

2、conver_imageset.bin(图像数据转换成db(leveldb/lmdb)文件)

caffe数据输入层的数据一般都以LEVELDB或者LMDB输入,所以要把原始数据进行转换,caffe中也提供了这样的工具

根目录下输入:./build/tools/compute_image_mean.bin

显示其用法

 convert_imageset      [FLAGS]        ROOTFOLDER/ LISTFILE      DB_NAME

convert_imageset      -此工具的名字

[FLAGS]                   -参数组,详细如下:

-backend 选择lmdb或者leveldb格式来保存结果,默认为lmdb

-check_size (当这个选项打开时,要检测输入图像是否拥有同样大小的尺寸,默认为false)

-encode_type(可选:将图片编码为哪一个格式,从cpp中来看,如果这一个不设置的话,它其实可以自己去根据图片的后缀名来识别图片的类型)

-encoded(是否将原图片编码放入最终的数据中,默认为false,当这个选项打开,被编码的图片就会被存储进datum中)

-gray(但这个选项打开,表示图片都是灰度图)

-resize_height(重置图片高度为:xx,默认为0)

-resize_width(重置图片宽度为:xx,默认为0)

-shuffle(随机的打乱图片顺序和标签,默认为false)

 ROOTFOLDER/        - 图片存放的绝对路径,从linux系统根目录开始

LISTFILE                    -图片文件列表清单,一般为一个txt文件,一行一张图片

DB_NAME                  - 最终生成的db文件存放目录

然后cpp中还提到一句这个工具的正常运行要依赖于opencv,有兴趣的同学可以去看看cpp

再推荐一篇博文:http://www.cnblogs.com/denny402/p/5082341.html

3、特征提取

该工具需要一个训练好的网络和一个数据输入层,运行后可得到相应数据通过网络某个中间层产生的特征图并保存到磁盘

有点长,我打出来
extract_features \                           //这个程序的名称
pretrained_net_param \                       //预训练的网络, **.caffemodel
feature_extraction_proto_file \              //网络描述文件,**.prototxt
extract_feature_blob_name1 [,name2,...] \    // 需要提取的Blob名字,可以写多个用逗号分开
save_feature_dataset_name1[,name2,...] \     //保存特征名字
num_mini_batches \                           //做特征提取的数据批量数目
db_type \                                    //输入数据的格式,lmdb或者leveldb
[CPU/GPU] \                                  //gpu还是cpu模式
[DEVICE_ID=0] \                              // 选择gpu设备号

基本上常用的就是这几个,还有一些工具已经弃用,而融入到其他地方去了,比如下面两个都被Deprecated(弃用)了

大家想要了解tools中工具的一些更为细节的东西,可以去 caffe目录下的tools中寻找cpp源码,

这里我们看的可执行文件是在caffe的build目录下的tools中,要注意区分

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • caffe随记(四) --- mnist示例超详细讲解

    这个mnist手写体数字识别的例子可以说是caffe中的 Hello World。mnist最初用于支票上的手写数字识别,针对mnist识别的专门模型是Lene...

    TeeyoHuang
  • caffe随记(十)---DeepLabV2安装过程

    1.下载DeepLabV2的code https://bitbucket.org/aquariusjay/deeplab-public-ver2, 这个网址是...

    TeeyoHuang
  • caffe随记(一)--- 目录简介

    caffe随记(一)--- 目录简介 我是Linux系统下的caffe,非windows版。文章主要记录一下自己的学习经历,权当抛砖引玉之用,欢迎各位不吝赐...

    TeeyoHuang
  • 并发面试必备系列之并发基础与内存模型

    在 《Awesome Interviews》 归纳的常见面试题中,无论前后端,并发与异步的相关知识都是面试的中重中之重,本系列即对于面试中常见的并发知识再进行回...

    王下邀月熊
  • Python:怎样用线程将任务并行化?

    用户2176428
  • 微信小程序封装api接口

    任我行RQ
  • Redis Lua脚本调试

    从版本3.2开始,Redis包含一个完整的Lua调试器,可以用来使编写复杂Redis脚本的任务更加简单。

    sunsky
  • 设计模式-工厂模式(Factory Method)

    Factory Method模式的主要意图是隐藏对象创建的复杂性。Client通常不指定要创建的具体类,Client将面向接口或抽象类进行编码,让Factory...

    易兒善
  • 2019春节期间“月子中心”调研报告

    身边的朋友,小蕊,从知道自己怀孕的第一刻起就决定去月子中心,预付了16万元,从检查到生产都很顺利,而且享受到了月子中心无微不至的关怀。但到坐月子的时候却不尽人意...

    birdskyws
  • 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(一)

    Linux系统分使用者、群组、其他人的三种身份,权限就是根据这三种身份进行分配的。

    Johnson木木

扫码关注云+社区

领取腾讯云代金券