框架.中间件.功能.数据处理器¶
data_processor¶
数据推送器¶
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.html和https://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。