【问题标题】:Check failed: mdb_status == 0 (2 vs. 0) No such file or directory检查失败:mdb_status == 0 (2 vs. 0) 没有这样的文件或目录
【发布时间】:2016-08-01 16:47:56
【问题描述】:

我在训练数据时收到以下错误。我已经尝试了互联网上给出的所有解决方案,但似乎对我没有任何作用。我检查了 lmdb 文件的路径和大小是非零的。但问题仍然存在。我不知道如何解决这个问题。

pooling_
I0411 12:42:53.114141 21769 layer_factory.hpp:77] Creating layer data
I0411 12:42:53.114586 21769 net.cpp:91] Creating Layer data
I0411 12:42:53.114604 21769 net.cpp:399] data -> data
I0411 12:42:53.114645 21769 net.cpp:399] data -> label
F0411 12:42:53.114650 21772 db_lmdb.hpp:14] Check failed: mdb_status == 0 (2 
vs. 0) No such file or directory
*** Check failure stack trace: ***
I0411 12:42:53.114673 21769 data_transformer.cpp:25] Loading mean file from: 
/home/Documents/Test/Images300/train_image_mean.binaryproto
@ 0x7fa9436a3daa (unknown)
@ 0x7fa9436a3ce4 (unknown)
@ 0x7fa9436a36e6 (unknown)
@ 0x7fa9436a6687 (unknown)
@ 0x7fa943b0472e caffe::db::LMDB::Open()
@ 0x7fa943afc644 caffe::DataReader::Body::InternalThreadEntry()
@ 0x7fa940e46a4a (unknown)
@ 0x7fa9406fe182 start_thread
@ 0x7fa942a8a47d (unknown)
@ (nil) (unknown)
Aborted (core dumped)

以下是我的文件设置:

name: "GoogleNet"
layer {
    name: "data"
    type: "Data"
    top: "data"
    top: "label"
    include {
        phase: TRAIN
    }
    transform_param {
        mirror: true
        crop_size: 224
        mean_file: "/home/Documents/Test/Images300/train_image_mean.binaryproto"
    }
    data_param {
        source: "/home/caffe/examples/zImageDetection/ImageDetection_train_lmdb"
        batch_size: 32
        backend: LMDB
    }
}
layer {
    name: "data"
    type: "Data"
    top: "data"
    top: "label"
    include {
        phase: TEST
    }
    transform_param {
        mirror: false
        crop_size: 224
        mean_file: "/home/Documents/Test/Image300/test_image_mean.binaryproto"
    }
    data_param {
        source: "/home/caffe/examples/zImageDetection/ImageDetection_val_lmdb"
        batch_size: 50
        backend: LMDB
    }
}

【问题讨论】:

  • 当你简单地在命令行中打印~$ ls -ltrh home/caffe/examples/zImageDetection/ImageDetection_val_lmdb你会得到什么?
  • 您好,感谢您的回复。我使用了上面的命令,结果是没有这样的文件或目录。
  • 我应该怎么做才能解决这个问题_
  • 您在 source 参数中提供 caffe 的路径似乎没有指向您的数据库所在的位置。请找到 lmdb 数据集的正确路径,然后将此路径作为source 参数。
  • 非常感谢您的帮助。我能够解决问题,你是正确的路径是问题。

标签: machine-learning computer-vision deep-learning caffe lmdb


【解决方案1】:

扩展 Harsh 的答案:

请务必仔细阅读Caffe Imagenet page 上的设置步骤。您必须执行的一些步骤嵌入在文本中;并非所有这些都在代码框中。

针对这种情况,您必须编辑文件 examples/imagenet/create_imagenet.sh,将 path/to 引用替换为您环境中的正确路径:这是 imagenet 文件所在的位置。第 9 行和第 10 行需要您注意:

TRAIN_DATA_ROOT=/path/to/imagenet/train/
VAL_DATA_ROOT=/path/to/imagenet/val/

另外,在第 5 行,确保您的EXAMPLE 变量设置为具有足够空间用于压缩图像的位置:train 需要 41Gb,但预处理高水位标记位于至少 55Gb。 test 仅占用 1.7Gb。

【讨论】:

    【解决方案2】:

    您没有正确设置 LMDB 目录的路径。转到您创建 LMDB 的目录并使用以下命令获取绝对路径:

    $ readlink -f <LMDB_directory_name>
    

    使用这个路径,应该可以解决你的问题。

    【讨论】:

    • 我得到了这个路径 /home/Documents/caffe/examples/zImageDetection/zImageDetection
    • 这条路径与您之前使用的路径不同吗?改路径后报错还是一样吗?
    • 是的,这个路径和我之前使用的不同,错误也一样。无论如何,我能够解决问题。路径是问题。
    猜你喜欢
    • 2018-09-25
    • 2017-12-29
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多