您的位置:首页 > 运维架构 > Linux

caffe在linux下和windows下生成均值文件mean.binaryproto

2017-11-14 18:05 411 查看
接上篇,下面来说说生成均值文件的过程

3 生成均值文件 .mean.binaryproto

caffe对数据做处理时,要先将图片转换成lmdb格式。lmdb数据格式常用于单标签数据,图像分类等。

3.1 Linux环境下生成lmdb和binaryproto文件

要生成lmdb问件,主要有两步:

(1)生成 .txt 标签文件。

(2)将 txt 标签文件与图像集中的图像相连接,生成lmdb格式文件。

参考链接:

https://www.cnblogs.com/darkknightzh/p/5909121.html

3.1.1 数据准备,我这里用的是Market-1501数据集



3.1.2 制作标签文件txt



3.1.3 生成lmdb

caffe\examples\imagenet目录下有一个create_imagenet.sh,是生成lmdb的文件。



如下图,用gedit打开,将里面的标签文件和生成的lmdb文件的路径修改成自己的路径。



在终端执行:
sh create_imagenet.sh
出现下图:



表示正在生成lmdb文件,然后提示:Done. lmdb文件就成功生成了。打开文件夹,里面有两个文件,大概700MB,如下:



3.1.4 生成binaryproto

caffe\examples\imagenet目录下有一个make_imagenet_mean.sh,是生成均值文件的程序。用gedit打开,修改自己的路径和名称。



在终端执行:
sh make_imagenet_mean.sh
,就会在你自己的目录下生成mean.binaryproto文件了。

3.2 windows环境下生成lmdb和binaryproto文件

准备数据和标签文件同上,这里就不重复了,主要讲后面两步的不同,主要参考链接:

http://blog.csdn.net/hong__fang/article/details/52424690

https://www.cnblogs.com/LiuSY/p/5729642.html

3.2.1 生成可执行文件

分别编译生成caffe-windows下的子工程convert_imageset和compute_image_mean.



convert_imageset:用于生成lmdb文件

compute_image_mean:用于生成bianryproto文件

生成成功后,会在caffe-windows\Build\x64\Debug下生成两个exe可执行文件,如下图:



3.2.2 创建convertimage2lmdb.bat

新建convertimage2lmdb.txt,写入程序段:



然后将后缀改为.bat,保存,双击运行convertimage2lmdb.bat,就会生成lmdb文件夹,文件夹里生成的文件和linux下生成的相同,也是那两个。

第二行参数介绍:

1>lib\convert_imageset.exe

前面生成的exe的路径,如果要拷出来和标签文件放在一起,就得把相关的lib文件一起拷过来,否则exe无法运行。

2> –shuffle –resize_height=256 –resize_width=256

图像大小归一化,重新调整宽和高为256

3>data/Market-1501-v15.09.15/bounding_box_train/

图像集文件夹路径,注意在最后加“/”,否则报错

4>data/train.txt

图像对应的标签文件的路径。注意:注重图像的路径为data/Market-1501-v15.09.15/bounding_box_train/+“train.txt”文件中的路径

5>trainlmdb

生成的lmdb文件的路径和名称

6>0

不知道是什么作用,可有可无,不会出错。

3.2.3 创建compute_mean.bat

同上方法创建compute_mean.bat,写入如下程序段:



保存,双击运行,生成均值文件binaryproto。

第二行参数介绍:

1>lib\compute_image_mean.exe

上面生成的exe路径

2>trainlmdb

上面生成的lmdb文件路径

3>train_mean.binaryproto

自己将要生成的均值文件的路径和名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux windows 均值文件