2016-08-10 3 views
1

Je travaille sur Caffe. J'extrais déjà des fonctionnalités en utilisant extract_features.bin, il va créer un résultat comme ci-dessous. Il a dit que la fonctionnalité sera stockée au format LevelDB. Mais, comme je travaille presque dans MATLAB, je veux lire cette sortie sur mon MATLAB. Mais, je ne peux toujours pas trouver un moyen de le faire. Quelqu'un pourrait m'aider?Lire le format LevelDB de Matlab

Screenshot of my levelDB output

Répondre

1

Avez-vous regardé this projet git?
Ce projet semble implémenter un wrapper pour lire les ensembles de données leveldb dans matlab.

+0

Merci de nous aider. Ok, je vais vérifier ce projet git. – nafilatur2724

+1

Ce projet est conçu pour UNIX. Mais, maintenant je travaille sur Windows. Avez-vous une recommandation? – nafilatur2724

+0

les données sont lues à partir de leveldb sous forme de chaîne, comment le convertir en image? – dolbi

1

Vous pouvez également utiliser python pour lire le niveaudb, l'enregistrer dans un fichier mat et le traiter dans Matlab.

Pour cette solution de contournement fonctionne, vous aurez besoin py-leveldb (et python ...)

En 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)}) 

Maintenant, vous devriez être en mesure de charger dans Matlab (doivent être stockés à data variable)

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

Merci @Shai, je vais essayer ceci – nafilatur2724