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 。