在 MXnet 中使用 im2rec 创建包含 png 图像的数据集

Tra*_*isJ 5 image-processing python-2.7 docker mxnet

我尝试按照此处的示例创建自己的数据集以使用 MXnet 进行训练。我的数据按照示例中指定的方式组织:

/data
    yes/
        file1.png
        file2.png
        ...
    no/
        file1.png
        file2.png
        ...
Run Code Online (Sandbox Code Playgroud)

本教程表示第一步是运行im2rec.py以创建 .lst 文件,然后im2rec.py再次运行(不同选项)以创建 .rec 文件。要创建 .lst 文件,我键入:

> python tools/im2rec.py my_data /data --list True --recursive True --train-ratio .75 --exts .png
Run Code Online (Sandbox Code Playgroud)

执行此操作后,将创建两个文件(如预期),my_data_train.lst并且my_data_val.lst. 两个文件中的总行数与 myyes/no/目录中的文件数之和相同。然后,我尝试使用im2rec以下命令第二次运行来创建.rec文件:

> python tools/im2rec.py my_data /data --resize 227 --num-thread 16
Run Code Online (Sandbox Code Playgroud)

它运行了几秒钟,然后(无声地)崩溃。在此过程中,它创建 4 个空文件:my_data_train.idxmy_data_train.recmy_data_val.idxmy_data_val.rec

问题:我需要做哪些不同的事情才能创建.rec包含我自己的 .png 图像的正确文件?

额外细节:

我正在 docker hub 上的 dmlc 提供的 docker 容器(mxnet/python:gpu)内工作;他们还在他们的 github 页面上提供了示例。数据可通过容器中的共享目录获得。所以这很可能是 docker 的问题。让我有点担心这是一个 docker 问题的是,我必须这样做pip install opencv-python才能im2rec导入 cv2...我希望提供容器的人能够解决这个问题。

lyn*_*yen 2

你是对的,图像缺少 python 的 opencv 。请不要通过 pip 安装,而是通过apt-get install python-opencv.

PR 发布在这里:Using im2rec in MXnet to create dataset with png images