convert_imageset.cpp指南
我对机器学习/ python / ubuntu比较新。
我有一套.jpg格式的图像,其中一半包含我想学习的function,一半没有。 我很难find一种方法将它们转换为所需的lmdb格式。
我有必要的文本input文件。
我的问题是任何人都可以提供如何在ubuntuterminal中使用convert_imageset.cpp
一步一步的指导?
谢谢
Caffe的convert_imageset
快速指南
build立
你必须做的第一件事就是构buildcaffe和caffe的工具( convert_imageset
就是其中的一个工具)。
安装caffe并make
,确保你也运行了make tools
。
validation是否在$CAFFE_ROOT/build/tools
创build了二进制文件convert_imageset
。
准备你的数据
图像:把所有的图像放在一个文件夹(我会在这里叫/path/to/jpegs/
)。
标签:创build一个文本文件(例如, /path/to/labels/train.txt
),每行input图像一行。 例如:
img_0000.jpeg 1
img_0001.jpeg 0
img_0002.jpeg 0
在这个例子中,第一个图像被标记为1
而另外两个被标记为0
。
转换数据集
在shell中运行二进制文件
~$ GLOG_logtostderr=1 $CAFFE_ROOT/build/tools/convert_imageset \ --resize_height=200 --resize_width=200 --shuffle \ /path/to/jpegs/ \ /path/to/labels/train.txt \ /path/to/lmdb/train_lmdb
命令行解释:
-
GLOG_logtostderr
标志在调用之前设置为1convert_imageset
指示日志机制将日志消息redirect到stderr。 -
--resize_height
和 –--resize_width
所有input图像的大小调整为200x200
。 -
--shuffle
随机更改图像的顺序,并不保留/path/to/labels/train.txt
文件中的顺序。 - 以下是图像文件夹,标签文本文件和输出名称的path。 请注意,在调用
convert_imageset
之前,输出名称不应该存在,否则会得到一个可怕的错误消息。
其他可能有用的标志:
-
--backend
– 允许您在lmdb
数据集或levelDB
之间进行select。 - – 灰色 – 将所有图像转换为灰度。
- – 编码和
--encoded_type
– 保持图像数据在数据库中的编码(jpg / png)压缩forms。 -
--help
– 显示一些帮助,查看来自tools / convert_imageset.cpp标志下的所有相关标志
您可以查看$CAFFE_ROOT/examples/imagenet/convert_imagenet.sh
,了解如何使用convert_imageset
。