0

je la structure suivante dans un fichier txt:Comment créer un fichier HDF5 (classification des étiquettes mutli) sur fichier txt à utiliser dans Caffe

/path/to/image x y 
/path/to/image x y 

où x et y sont des nombres entiers.

Ce que je veux faire est maintenant: Créez un fichier hdf5 à utiliser dans Caffe ('train.prototxt')

code Python Mon ressemble à ceci:

import h5py 
import numpy as np 
import os 

text = 'train' 
text_dir = text + '.txt' 

data = np.genfromtxt(text_dir, delimiter=" ", dtype=None) 

h = h5py.File(text + '.hdf5', 'w') 
h.create_dataset('data', data=data[:1]) 
h.create_dataset('label', data=data[1:]) 

with open(text + "_hdf5.txt", "w") as textfile: 
    textfile.write(os.getcwd() + '/' +text + '.hdf5') 

Mais cela ne fonctionne pas! Des idées sur ce qui pourrait être faux?

Répondre

1

Cela ne fonctionne pas car votre 'data' est /path/to/image au lieu de l'image elle-même. Pour plus d'informations, voir this answer.

+0

Oui, j'ai regardé cette réponse. Mais cette réponse est liée à des étiquettes uniques: ** y = np.zeros ((1, len (lignes)), dtype = 'f4') ** ** y [i] = float (sp [1]) ** Comment créeriez-vous cela pour la classification multi-étiquettes? – thigi

+0

vous devriez avoir 'y' avec' shape' "num-of-examples" -by- "dim de y" – Shai

+0

J'ai deux classes et chaque classe a 36 étiquettes. Vous voulez dire num-exaxmples = num images et dim de y est 2? y = np.zeros ((2, num-images), dtype = 'f4') – thigi