如何解决lmdb.Error:mdb_txn_commit:输入/输出错误?

时间:2017-12-06 21:18:07

标签: python-2.7 caffe

我正在为带有标签的图片创建lmdb数据库。我的代码如下:

 with in_db.begin(write=True) as in_txn:
    for in_idx, img_path in enumerate(X):
        img = cv2.imread(img_path, cv2.IMREAD_COLOR)
        #print(Y_gender[in_idx])
        label = int(Y_gender[in_idx])
        datum = make_datum(img, label)
        in_txn.put('{:0>8d}'.format(in_idx), datum.SerializeToString())
        #print '{:0>8d}'.format(in_idx) + ':' + img_path
in_db.close()

我收到了以下错误:

Traceback (most recent call last):
File "create_lmdb_faces.py", line 40, in <module>
in_txn.put('{:0>8d}'.format(in_idx), datum.SerializeToString())
lmdb.Error: mdb_txn_commit: Input/output error

如何解决此错误?

1 个答案:

答案 0 :(得分:0)

磁盘空间可能用完了。 .mdb文件很大。对于我的情况,这是最接近的答案。不确定您的情况。只需写入另一个磁盘即可。

Check this answer from Google groups