Shortcuts

data.buffer.deque_buffer

deque_buffer

双端队列缓冲区

class ding.data.buffer.deque_buffer.DequeBuffer(size: int, sliced: bool = False)[source]
Overview:

基于deque结构的缓冲区实现。

clear() None[source]
Overview:

清除缓冲区中所有数据、索引和元信息的方法。

count() int[source]
Overview:

返回缓冲区当前长度的方法。

delete(indices: str | Iterable[str]) None[source]
Overview:

通过特定索引删除数据及相关元信息的方法。

Arguments:
  • indices (Union[str, Iterable[str]]): 缓冲区中要清除数据的位置。

get(idx: int) BufferedData[source]
Overview:

通过下标 idx (int) 返回 BufferedData 对象的方法。

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从缓冲区中随机抽取相应数量的对象。

  • indices (Optional[List[str]]): Only used when you want to retrieve data by indices.

    默认为 None

  • 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]]]): 采样结果。

update(index: str, data: Any | None = None, meta: dict | None = None) bool[source]
Overview:

更新数据及其相关元信息的方法,针对特定索引。

Arguments:
  • 数据 (Any): 应该替换旧数据的数据。如果你将其设置为 None,旧记录将不会发生任何变化。

  • meta (Optional[dict]): 新的字典,应该与旧的字典合并。