mindspore.dataset.config.set_prefetch_size

mindspore.dataset.config.set_prefetch_size(size)

设置流水线中各个数据处理操作的缓冲队列大小。

缓冲队列的存在使得当前操作在下一操作取走数据前就能开始处理后续数据,各操作异步并发地执行。

更大的缓冲队列大小能够减少相邻操作吞吐速率不平衡时的整体处理时延,但也会消耗更大的系统内存。

参数:
  • size (int) - 缓冲队列的大小,取值必须大于0。

异常:
  • TypeError - 当 size 的类型不为int。

  • ValueError - 当 size 不为正数。

说明

缓冲队列消耗的总内存与工作线程数成正比,为了避免内存占用过大,当工作线程数大于4时, 实际使用的缓冲队列大小将调整为 (size * 4 / 工作线程数) 与 1 中的较大值。

样例:

>>> # Set a new global configuration value for the prefetch size.
>>> import mindspore.dataset as ds
>>> ds.config.set_prefetch_size(1000)