最近做了场景分类的一个45分类竞赛,分类结果单模型准确率目前达到了87%,但是要得到较好的名次,至少要达到92的单模型准确率,在修改训练参数无果的情况下,采用了外部数据集
外部数据集为256*256的图像,而大赛提供的数据集为512*512的图像,在输入图片尺寸不一致时会发生错误,为了批量resize处理图片,参考了了别人的代码,修改后的代码如下:
#coding=utf-8
import os
import cv2
DATADIR=raw_input("")
IMG_SIZE=512
path=os.path.join(DATADIR)
img_list=os.listdir(path)
ind=0
if not os.path.exist("path_to_root"):
os.makedirs("path_to_root"+DATADIR)
for i in img_list:
img_array=cv2.imread(os.path.join(path,i),cv2.IMREAD_COLOR)
new_array=cv2.resize(img_array,(IMG_SIZE,IMG_SIZE))
img_name=str(ind)+'.jpg'
save_path='path_to _root'+DATADIR+"/"+DATADIR+str(ind)+'.jpg'
ind=ind+1
cv2.imwrite(save_path,new_array)