从Matlab读取LevelDB格式

时间:2016-08-10 06:27:47

标签: matlab caffe feature-extraction leveldb matcaffe

我正在研究Caffe。我已经使用extract_features.bin提取功能,它将创建一个结果,如下图所示。它表示该功能将以LevelDB格式存储。但是,由于我几乎在MATLAB中工作,所以我想在MATLAB上读取这个输出。但是,我仍然找不到如何做到这一点的方法。有人可以帮帮我吗?

Screenshot of my levelDB output

2 个答案:

答案 0 :(得分:2)

或者,您可以使用python读取leveldb,将其保存到mat文件并在Matlab中处理。

要使此解决方法正常工作,您需要py-leveldb(和python ...)

在python中

import leveldb      # for reading leveldb
import numpy as np  # for manipulating the data
import scipy.io     # for writing to mat file

data = []
db = leveldb.LevelDB('/path/to/output400_flickr_fc7')
for key, value in db.RangeIter():
    data.append( np.array(value) )

scipy.io.savemat('/path/to/output400_flickr_fc7.mat', {'data': np.hstack(data)})

现在你应该能够在Matlab中加载(应该存储到data变量)

>> load('/path/to/output400_flickr_fc7.mat');

答案 1 :(得分:1)

你看过this git项目了吗? 这个项目似乎实现了一个包装器,用于将leveldb数据集读入matlab。