caffe hdf5 資料層資料生成
阿新 • • 發佈:2019-01-10
使用的是python裡面帶的h5py這個庫,
使用方式是通過hy.File(filename,mode)讀取hdf5或者寫入hdf5。
輸入存入的方式是通過字典賦值的方式進行的。
import h5py as hy
import numpy as np
import cv2
width=100
height=224
fid=open('/home/yang/Desktop/all.txt')
lines=fid.readlines()
f = hy.File('HDF5_FILE.h5','w')
imgData=np.zeros((2,3,height,width))
labels=np.zeros((2 ,3))
idx=0
for line in lines:
line=line.strip().split()
image=cv2.imread(line[0])
image=cv2.resize(image,(width,height))
image=image[:,:,[2,1,0]]
image=image.transpose((2,0,1))
imgData[idx,:,:,:]=image
labels[idx,0]=int(line[1])
labels[idx,1]=int(line[2])
labels[idx,2]=int(line [3])
idx+=1
f['data1']=imgData #這個地方的名字決定了你使用caffe時候top的名稱,名稱沒對應上是錯誤的。
f['label1']=labels #同上面
print labels
fid.close()
f.close()