如何用Python高效读取LMDB数据库中的数据实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计611个文字,预计阅读时间需要3分钟。
由于原文较长,以下是对其的简化改写,确保字数不超过100字:
因C++速度优势,一般写数据读取用C++接口,读数据也用C++。但Python在某方面方便,通过使用Python接口仅对LMDB文件读取、处理数据(图片)。
由于c++速度快,所以一般写入数据我调用c++借口,而读取数据使用c++也行,但有时候Python在某方面方便,所以通过使用python借口仅仅对lmdb文件读取,处理数据是图片
import lmdb import numpy as np import cv2 lmdb_file = "/home/rui/demo" lmdb_env = lmdb.open(lmdb_file) lmdb_txn = lmdb_env.begin() lmdb_cursor = lmdb_txn.cursor() for key, value in lmdb_cursor: img = cv2.imdecode(np.fromstring(value, np.uint8), 3); cv2.imshow("demo", img) cv2.waitKey(0)
补充知识:Python解析lmdb格式mnist数据集
背景
HDF5和LMDB都是Cafffe中常用的数据库。相对来说,HDF5的读写格式简单;LMDB采用内存-映射文件(memory-mapped files),所以拥有非常好的I/O性能,而且对于大型数据库来说,HDF5的文件常常整个写入内存。
本文共计611个文字,预计阅读时间需要3分钟。
由于原文较长,以下是对其的简化改写,确保字数不超过100字:
因C++速度优势,一般写数据读取用C++接口,读数据也用C++。但Python在某方面方便,通过使用Python接口仅对LMDB文件读取、处理数据(图片)。
由于c++速度快,所以一般写入数据我调用c++借口,而读取数据使用c++也行,但有时候Python在某方面方便,所以通过使用python借口仅仅对lmdb文件读取,处理数据是图片
import lmdb import numpy as np import cv2 lmdb_file = "/home/rui/demo" lmdb_env = lmdb.open(lmdb_file) lmdb_txn = lmdb_env.begin() lmdb_cursor = lmdb_txn.cursor() for key, value in lmdb_cursor: img = cv2.imdecode(np.fromstring(value, np.uint8), 3); cv2.imshow("demo", img) cv2.waitKey(0)
补充知识:Python解析lmdb格式mnist数据集
背景
HDF5和LMDB都是Cafffe中常用的数据库。相对来说,HDF5的读写格式简单;LMDB采用内存-映射文件(memory-mapped files),所以拥有非常好的I/O性能,而且对于大型数据库来说,HDF5的文件常常整个写入内存。

