The task is to categorize each face based on the emotion shown in the facial expression(1st Col) in to one of seven categories (0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral).
The face image can be descibed in the 2nd col as a vec ,a space-separated pixel values in row major order.
My prob is :How can I convert this format data to lmdb file ? Matlab or Python code will be appreciated.......THX A LOT!!!
import osimport numpy as npfrom pandas.io.parsers import read_csvfrom sklearn.utils import shuffleimport h5pyTRAIN_CSV = 'path/train.csv'def csv_to_hd5():dataframe = read_csv(os.path.expanduser(TRAIN_CSV))dataframe['Image'] = dataframe['Image'].apply(lambda img:np.fromstring(img,sep=' '))dataframe = dataframe.dropna()data = np.vstack(dataframe['Image'].values)/255label = dataframe[dataframe.columns[:-1]].valueslabel = (label-48)/48data, label = shuffle(data, label, random_state = 0)return data, labelif __name__ == '__main__':data,label = csv_to_hd5()data = data.reshape(-1,1,96,96)data_train = data[:-100,:,:,:]data_val = data[-100:,:,:,:]label = label.reshape(-1,1,1,30)label_train =label[:-100,:,:,:]label_val = label[-100:,:,:,:]fhandle = h5py.File('train.hd5','w')fhandle.create_dataset('data',data = data_val,compression='gzip',compression_opts =4)fhandle.create_dataset('label', data=label_val, compression='gzip', compression_opts=4)fhandle.close()