tf.data API 同时预处理 n 个文件

Preprocess n files concurrently with tf.data API

我想使用tf.data.experimental.parallel_interleave同时预处理n个文件。 cycle_length 参数用于此目的,但此参数的最大值是多少?我的 CPU 有 8 个内核和 16 个线程。

根据 tf.data.experimental.parallel_interleave

上的官方文档

Unlike tf.data.Dataset.interleave, it gets elements from cycle_length nested datasets in parallel

cycle_length: The number of input Datasets to interleave from in parallel.

所以基本上,一个合理的参数是数据集元素的数量,这些元素将被并行处理。这样就和CPUcores/threads

没有关系了