前言
提示:本文基于tensorflow2.1.0编写, 总结了数据输入管道的基本使用步骤。
更新记录:
2020.09.17 二更
一、数据输入管道是什么?
除GPU 和 TPU 等硬件加速 设备外, 高效的数据输入管道也可以 很大程度 提升模型的能,减少模型的训练时间.
数据输入管道实际上 是一个ELT过程, 读取 预处理 加载到模型当中
二、使用步骤
1.预处理函数
注意事项:
- 一般图像处理中,高速数据管道是为了解决,图像数据加载过慢,加速图像数据的加载过程.
- 在编写预处理函数时,一般输入是已经处理好(例如 划分好的训练集的图片路径)图片路径, 返回的是图像的像素数据
- 函数重要的作用是,使用tf.io按照路径读取图片, 加上图片的预处理过程
代码如下(示例):
def load_and_preprocess_image(path):
# 读取图片
image = tf.io.read_file(path)
image = tf.image.decode_jpeg(image, channels=3)
image = tf.image.resize(image, [192, 192])
# 归一化处理 或者其他的 图像处理的方法
image = image / 255.0
return image
扩展: 本文是基于图像的多分类问题,所以图片类型只用train,而没有对应的图片label. 如果应用到语义识别中,可以适当修改函数构造,如下: