#码力全开·技术π对#Dataset.prefetch()和cache()的性能差异与适用场景

​Dataset.prefetch()​​cache()​的性能差异与适用场景

Dataset
鱼弦CTO
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
key_3_feng
key_3_feng

​Dataset.prefetch()​​​ 和 ​​cache()​​ 的性能差异与适用场景如下:

  • prefetch()
    通过重叠数据预处理和模型训练,减少 CPU/GPU 空闲时间。适用于大数据集计算密集型预处理(如图像解码),可显著提升吞吐量。例如,当 GPU 训练第 N 批数据时,CPU 已准备第 N+1 批数据。
  • cache()
    将数据缓存到内存或磁盘,避免重复处理。适用于小数据集解析成本高的数据(如复杂文本处理)。若数据集可完全放入内存,cache() 可大幅减少 I/O 开销;若内存不足,可指定缓存到磁盘。

组合使用:​​cache().prefetch()​​ 是常见优化模式,先缓存数据再预取,兼顾效率与资源利用。

分享
微博
QQ
微信https://www.51cto.com/aigc/
回复
2天前
发布
相关问题
提问