在 python 中使用 .cache() 和数据准备



谁能解释一下使用tensorflow_datasets时在这一行中.cache()的目的是什么

train_batches = train_examples.cache().shuffle(num_examples // 4).map(format_image).batch(32).prefetch(1)

顾名思义,它将示例缓存在内存中(如果提供了文件名,则缓存在磁盘上(。例如,如果train_examples包括昂贵的预处理,则不需要以增加内存消耗为代价为每个纪元重复预处理。

请注意,由于顺序,.cache()之后调用的所有方法仍在每个纪元执行。根据情况,在.cache()之前打电话给.map()可能是有益的。但是,洗牌和批处理通常应该称为最后。

有关详细信息,请查看官方文档。

最新更新