import os
import cv2
import numpy as np
def get_batch(path,batch_size):
#获取所有图片路径
img_list = [os.path.join(path,i) for i in os.listdir(path)]
#获取可以训练的批次数
n_batchs = len(img_list)//batch_size
#只保留可训练的整数倍张的图片
img_list = img_list[:n_batchs*batch_size]
#将这些训练数据分成一批次一批次的
for i in range(n_batchs):
#按顺序获取一个批次的数据路径
tmp_img_list = img_list[i*batch_size:(i+1)*batch_size]
# 将这批读取过来
imgs = [cv2.imread(img) for img in tmp_img_list]
#进行转换
imgs = np.array(imgs)
#构造一个生成器以便
yield imgs
for imgs in get_batch('faces', 64):
print(imgs)
对训练数据的采样
猜你喜欢
转载自blog.csdn.net/weixin_38241876/article/details/90747289
今日推荐
周排行