美文网首页
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