用途:该技能用于构建高效、可扩展的 tf.data 数据管道,改善模型训练性能,避免数据加载成为 GPU/TPU 瓶颈。
主要能力:支持从张量切片(from_tensor_slices)、生成器函数(from_generator)和范围(range)创建数据集;提供 map、batch、shuffle、cache、prefetch、repeat、take、skip、interleave、group_by_window、sample_from_datasets 等转换;支持图像归一化、随机翻转、亮度/对比度调整、缩放与旋转等增强;支持 TFRecord、CSV、图像文件等格式解析;并提供分布式数据集与自定义训练循环集成示例。
使用方式:典型流程是创建数据集后按顺序应用 map(可配合 num_parallel_calls=tf.data.AUTOTUNE)、cache(放在耗时预处理之后)、shuffle(放在 batch 之前)、batch、最后 prefetch(tf.data.AUTOTUNE)。训练时可直接将数据集传入 model.fit(),也可在自定义训练循环中迭代。
适用场景:适用于超出内存的大数据集加载与预处理、数据增强、变长序列批处理、多文件并行读取、分布式训练、实时增强、内存流式优化,以及高效划分训练/验证/测试集。
限制与注意事项:资料强调应始终使用 prefetch、合理使用缓存与打乱缓冲、避免先 batch 后 shuffle、避免将超大数据集整体载入内存、验证集不应 repeat;缓存过大数据可能导致内存不足。具体版本兼容性与性能收益暂未提供。