gpt4 book ai didi

python - Caffe:从 Python 读取 LMDB

转载 作者:IT老高 更新时间:2023-10-28 21:06:25 28 4
gpt4 key购买 nike

我使用 caffe 提取了特征,它会生成一个 .mdb 文件。然后我尝试使用 Python 读取它并将其显示为可读数字。

import lmdb

lmdb_env = lmdb.open('caffefeat')
lmdb_txn = lmdb_env.begin()
lmdb_cursor = lmdb_txn.cursor()

for key, value in lmdb_cursor:
print str(value)

这会打印出很长的一行不可读的损坏字符。

然后我尝试打印 int(value),它返回以下内容:

ValueError: invalid literal for int() with base 10: '\x08\x80 \x10\x01\x18\x015\x8d\x80\xad?5'

float(value) 给出以下结果:

ValueError: could not convert string to float:? 5????5

这是lmdb文件本身的问题,还是与数据类型的转换有关?

最佳答案

这是我想出的工作代码

import caffe
import lmdb

lmdb_env = lmdb.open('directory_containing_mdb')
lmdb_txn = lmdb_env.begin()
lmdb_cursor = lmdb_txn.cursor()
datum = caffe.proto.caffe_pb2.Datum()

for key, value in lmdb_cursor:
datum.ParseFromString(value)
label = datum.label
data = caffe.io.datum_to_array(datum)
for l, d in zip(label, data):
print l, d

关于python - Caffe:从 Python 读取 LMDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33117607/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com