ray.data.DataIterator.iter_batches#
- DataIterator.iter_batches(*, prefetch_batches: int = 1, batch_size: int = 256, batch_format: str | None = 'default', drop_last: bool = False, local_shuffle_buffer_size: int | None = None, local_shuffle_seed: int | None = None, _collate_fn: Callable[[pyarrow.Table | pandas.DataFrame | Dict[str, numpy.ndarray]], CollatedData] | None = None, _finalize_fn: Callable[[Any], Any] | None = None) Iterable[pyarrow.Table | pandas.DataFrame | Dict[str, numpy.ndarray]] [源代码]#
返回数据集上的批量可迭代对象。
示例
>>> import ray >>> for batch in ray.data.range( ... 1000000 ... ).iterator().iter_batches(): ... print(batch)
时间复杂度: O(1)
- 参数:
prefetch_batches – 要预取的批次数量,超过当前批次。如果设置为大于0,将使用一个单独的线程池来将对象获取到本地节点,格式化批次,并应用collate_fn。默认为1。
batch_size – 每个批次中的行数,或 None 以使用整个块作为批次(块可能包含不同数量的行)。如果
drop_last
为False
,则最后一个批次可能包含少于batch_size
行。默认为 256。batch_format – 指定
"default"
以使用默认块格式(NumPy),"pandas"
以选择pandas.DataFrame
,"pyarrow"
以选择pyarrow.Table
,或"numpy"
以选择Dict[str, numpy.ndarray]
,或 None 以返回底层块,不进行任何额外格式化。drop_last – 如果最后一个批次不完整,是否丢弃它。
local_shuffle_buffer_size – 如果非空,数据将使用本地内存中的随机洗牌缓冲区进行随机洗牌,并且此值将作为本地内存中随机洗牌缓冲区中必须存在的最小行数,以便生成一个批次。当没有更多的行可以添加到缓冲区时,缓冲区中剩余的行将被排空。
local_shuffle_seed – 用于本地随机洗牌的种子。
- 返回:
一个记录批次的可迭代对象。
PublicAPI (测试版): 此API目前处于测试阶段,在成为稳定版本之前可能会发生变化。