Shortcuts

框架.中间件.功能.数据处理器

data_processor

数据推送器

ding.framework.middleware.functional.data_processor.data_pusher(cfg: EasyDict, buffer_: Buffer, group_by_env: bool | None = None)[source]
Overview:

将情节或轨迹推入缓冲区。

Arguments:
  • cfg (EasyDict): 配置。

  • 缓冲区 (Buffer): 用于推送数据的缓冲区。

offpolicy_data_fetcher

ding.framework.middleware.functional.data_processor.offpolicy_data_fetcher(cfg: EasyDict, buffer_: Buffer | List[Tuple[Buffer, float]] | Dict[str, Buffer], data_shortage_warning: bool = False) Callable[source]
Overview:

返回函数是一个生成器,主要从缓冲区、缓冲区列表或缓冲区字典中获取一批数据。

Arguments:
  • cfg (EasyDict): 配置应包含以下键: cfg.policy.learn.batch_size.

  • buffer (Union[Buffer, List[Tuple[Buffer, float]], Dict[str, Buffer]]): 数据从中获取的缓冲区。 Buffer 类型表示一个缓冲区。 List[Tuple[Buffer, float]] 类型表示一个元组列表。在每个元组中有一个缓冲区和一个浮点数。 浮点数定义了从相应缓冲区采样的数据的大小为多少 batch_size。 Dict[str, Buffer] 类型表示一个字典,其中每个元素的值是一个缓冲区。 对于字典的每个键值对,将从相应的缓冲区采样 batch_size 的数据,并分配给 ctx.train_data 的相同键。

  • data_shortage_warning (bool): 当获取数据时发生数据短缺时是否输出警告。

离线数据获取器

ding.framework.middleware.functional.data_processor.offline_data_fetcher(cfg: ~easydict.EasyDict, dataset: ~torch.utils.data.dataset.Dataset, collate_fn=<function <lambda>>) Callable[源代码]
Overview:

外部函数将Pytorch的Dataset转换为DataLoader。返回的函数是一个生成器,每次从先前的DataLoader中获取一批数据。请参考链接https://pytorch.org/tutorials/beginner/basics/data_tutorial.htmlhttps://pytorch.org/docs/stable/data.html了解更多详情。

Arguments:
  • cfg (EasyDict): 配置应包含以下键: cfg.policy.learn.batch_size.

  • 数据集 (Dataset): 存储数据的类型为 torch.utils.data.Dataset 的数据集。

离线数据保存器

ding.framework.middleware.functional.data_processor.offline_data_saver(data_path: str, data_type: str = 'hdf5') Callable[源代码]
Overview:

将离线RL的专家数据保存在一个目录中。

Arguments:
  • data_path (str): 文件路径,专家数据将被写入该路径,通常为 ./expert.pkl。

  • data_type (str): 定义保存数据的类型。 如果data_type == ‘naive’,则保存的数据类型为pkl。 如果data_type == ‘hdf5’,则保存的数据类型为hdf5。

sqil_data_pusher

ding.framework.middleware.functional.data_processor.sqil_data_pusher(cfg: EasyDict, buffer_: Buffer, expert: bool) Callable[source]
Overview:

在sqil学习管道中将轨迹推入缓冲区。

Arguments:
  • cfg (EasyDict): 配置。

  • 缓冲区 (Buffer): 用于推送数据的缓冲区。

  • 专家 (bool): 推送的数据是否为专家数据。在推送数据的每个元素中,如果此属性为True,则奖励将设置为1,否则为0。