data.buffer.deque_buffer¶
deque_buffer¶
双端队列缓冲区¶
- class ding.data.buffer.deque_buffer.DequeBuffer(size: int, sliced: bool = False)[source]¶
- Overview:
基于deque结构的缓冲区实现。
- delete(indices: str | Iterable[str]) None[source]¶
- Overview:
通过特定索引删除数据及相关元信息的方法。
- Arguments:
indices (Union[str, Iterable[str]]): 缓冲区中要清除数据的位置。
- push(data: Any, meta: dict | None = None) BufferedData[source]¶
- Overview:
将对象和相关元信息输入缓冲区的方法。
- Arguments:
数据 (
Any): 输入对象可以是任何格式。meta (
Optional[dict]): 一个帮助描述数据的字典,例如类别、标签、优先级等。默认为None。
- sample(size: int | None = None, indices: List[str] | None = None, replace: bool = False, sample_range: slice | None = None, ignore_insufficient: bool = False, groupby: str | None = None, unroll_len: int | None = None) List[BufferedData] | List[List[BufferedData]][source]¶
- Overview:
从缓冲区随机采样数据或通过索引检索特定数据的方法。
- Arguments:
- size (
Optional[int]): The number of objects to be obtained from the buffer. 如果未指定
indices,则需要size从缓冲区中随机抽取相应数量的对象。
- size (
- indices (
Optional[List[str]]): Only used when you want to retrieve data by indices. 默认为
None。
- indices (
replace (
bool): 由于采样过程是逐个进行的,此参数决定是否将先前的样本放回缓冲区以供后续采样。默认为False,这意味着在一次sample调用中不会出现重复样本。sample_range (
Optional[slice]): 采样数据的索引范围。默认为None,这意味着在采样过程中对索引范围没有限制。ignore_insufficient (
bool): 如果采样的大小小于所需的大小,是否抛出 `` ValueError``。默认为False。groupby (
Optional[str]): 如果激活此参数,该方法将返回对象组的目标大小。unroll_len (
Optional[int]): 轨迹的展开长度,仅在groupby激活时使用。
- Returns:
sampled_data (Union[List[BufferedData], List[List[BufferedData]]]): 采样结果。