图像分类与回归的深度学习实践
1. 动态小批量创建
在训练过程中,为了减少内存需求,我们可以动态创建小批量数据。具体做法是从图像的存储位置随机处理图像,每次处理的图像数量等于我们指定的小批量大小。虽然动态创建小批量会在训练过程中产生一些瓶颈,但这个瓶颈可以忽略不计。Keras 等库提供了高效的动态批量创建机制,我们可以利用 flow_from_directory 函数来实现这一功能。
1.1 图像预处理
首先,我们需要对图像进行预处理,减去三个通道的平均像素强度。以下是预处理函数的代码:
def pre_process(img):
img[:,:,0] = img[:,:,0] - 103.939
img[:,:,1] = img[:,:,0] - 116.779
img[:,:,2] = img[:,:,0] - 123.68
return img
1.2 数据生成器的定义
接下来,我们定义训练数据生成器和验证数据生成器:
import glob
import joblib
from keras.preprocessing.image import ImageDataGenerator
train_file_names = glob.glob(f'{train_dir}/*/*')
val_file_names = glob.glob(f'{val_dir}/*/*')
train_ste
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



