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标志调用之前设置为1 convert_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