网上很多类似利用tensorflow的文章。
再次进行梳理一下cnn进行图像识别的步骤。
1
最重要的就是数据预处理
相信大家都做过minist手写数字的预测吧,原理一样。
首先将图片数字化,一般转换为一个4维的矩阵,如shape=(1000,128,128,3),第一个是样本数,最后一个是根据图片颜色,取值1或者3.
def read_data(): img_list=[] for root,dir,files in os.walk('my_images'): for file in files: my_path=os.path.join(root,file) img=cv2.imread(my_path) newe_img=np.resize(img,[64,64,3]) img_list.append(newe_img) data=np.asanyarray(img_list,dtype='f4') return data
首先你要想好分几个类别,如果想要分2个类别,那么必须给因变量值,而且一个样本图片对应的y值维度就应该为(0,1)或者(1,0)这样的.
def get_ydata(): y_label=np.zeros((30,2)) for i in range(21): y_label[i,0]=1 y_label[i,1]=0 for ii in range(21,30):