You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kaggle平台查看.mdb格式数据集内容?

操作LMDB格式data.mdb/lock.mdb文件的解决方案

你遇到的核心问题是工具选型错误:你手上的data.mdb和lock.mdb是**LMDB(闪电内存映射数据库)**的存储文件,不是微软Access的数据库文件,因此之前尝试的mdbtools、meza等工具完全不适用。

以下是Kaggle环境下可直接运行的操作步骤:

1. 安装正确依赖

直接安装Python的LMDB操作库和图片处理依赖即可,无交互要求:

pip install lmdb opencv-python numpy

2. 读取Clova Deep Text数据集的示例代码

Clova Deep Text的LMDB存储格式固定,按以下代码可直接读取图片和标签:

import lmdb
import cv2
import numpy as np

# 替换为对应LMDB文件夹路径,注意是到包含data.mdb的父文件夹,不要直接指向data.mdb文件
lmdb_path = '/kaggle/input/clova-deeptext/clova_deeptext/data_lmdb_release/training/ST'

# 只读模式打开数据库,避免修改原始数据集
env = lmdb.open(lmdb_path, readonly=True, lock=False)
with env.begin() as txn:
    # 获取数据集总样本数
    total_samples = int(txn.get(b'num-samples').decode())
    print(f"数据集总样本数:{total_samples}")
    
    # 遍历前5个样本测试
    for i in range(1, 6):
        # 按数据集规则拼接key
        img_key = f'image-{i:09d}'.encode()
        label_key = f'label-{i:09d}'.encode()
        
        # 读取二进制内容
        img_binary = txn.get(img_key)
        label = txn.get(label_key).decode()
        
        # 二进制转图片格式
        img = cv2.imdecode(np.frombuffer(img_binary, np.uint8), cv2.IMREAD_COLOR)
        
        # 输出信息
        print(f"样本{i} 标签:{label} 图片尺寸:{img.shape}")
        
        # 如需在Kaggle中展示图片,可添加以下代码
        # import matplotlib.pyplot as plt
        # plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
        # plt.show()

3. 修改LMDB内容的注意事项

  • Kaggle的/kaggle/input目录为只读,若需要修改LMDB内容,需先将整个LMDB文件夹复制到/kaggle/working目录下,再取消readonly=True参数打开即可写入
  • 写入操作完成后,新的data.mdb和lock.mdb文件会自动生成在目标文件夹中

之前操作失败的原因说明

  • 你运行apt install mbtools报错是因为包名拼写错误,正确的Access数据库工具包名为mdbtools,但该工具针对的是微软Access数据库文件,和你手上的LMDB格式完全不兼容,无需再尝试

内容的提问来源于stack exchange,提问作者watch-this

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:15:02