美文网首页
python hdf5_for_caffe

python hdf5_for_caffe

作者: yuanCruise | 来源:发表于2018-11-21 00:00 被阅读11次
import random
import os
import numpy as np
from PIL import Image
import h5py
LABELS = {"0":(1,0,0,0,0),"1":(0,1,0,0,0),"2":(0,0,1,0,0),"3":(0,0,0,1,0),"4":(0,0,0,0,1)}
#print LABELS

IMAGE_DIR = ['image_train','image_test']
HDF5_FILE = ['hdf5_train.h5','hdf5_test.h5']
LIST_FILE = ['list_train.txt','list_test.txt']

filename = "/home/XXXXX/my_file/lenet/traintestTxt/train11_abspath.txt"
LABEL_SIZE = 5  #Multi-labels
MEAN_VALUE = 128

setname = 'train'

with open(filename,'r') as f:
    lines = f.readlines()

np.random.shuffle(lines)

sample_size = len(lines)

datas = np.zeros((sample_size,3,56,56))
labels = np.zeros((sample_size,5))

h5_filename = '{}.h5'.format(setname)

#print datas.shape
#print h5_filename

for i,line in enumerate(lines):
    data_line = line.split(" ")[0]
    labels_line = line.split(" ")[1]
    temp_img = np.array(Image.open(data_line)).astype(np.float32)
    temp_img = temp_img[:,:,::-1] #turn RGB to BGR
    temp_img = temp_img.transpose((2,0,1))# turn 56,56,3 to 3,56,56
    temp_img = temp_img.copy()
    temp_img.resize(3,56,56)

    datas[i,:,:,:] = (temp_img-128)/256

    labels[i,:] = np.array(LABELS[labels_line.strip("\n")]).astype(np.int)
    print('processed {} images!'.format(i))

with h5py.File(h5_filename,'w') as h:
    h['data'] = datas
    h['label'] = labels
    f.close()
with open('{}.txt'.format(setname),'w') as f:
    f.write(os.path.abspath(h5_filename)+'\n')
    f.close()

相关文章

网友评论

      本文标题:python hdf5_for_caffe

      本文链接:https://www.haomeiwen.com/subject/mvnfqqtx.html