worker.learner.comm¶
学习者通信¶
BaseCommLearner¶
- class ding.worker.learner.comm.base_comm_learner.BaseCommLearner(cfg: EasyDict)[source]¶
- Overview:
CommLearner 的抽象基类。
- Interfaces:
__init__, send_policy, get_data, send_learn_info, start, close
- Property:
hooks4call
- abstract get_data(batch_size: int) list[source]¶
- Overview:
从协调器获取批处理的元数据。 将会在基础学习器中注册。
- Arguments:
batch_size (
int): 批量大小。
- Returns:
stepdata (
list): 训练数据的列表,每个元素是一个轨迹。
- abstract send_learn_info(learn_info: dict) None[source]¶
- Overview:
将学习信息发送给协调器。 将会在基础学习器中注册。
- Arguments:
learn_info (
dict): 以字典类型的学习信息。
Flask文件系统学习器¶
- class ding.worker.learner.comm.flask_fs_learner.FlaskFileSystemLearner(cfg: EasyDict)[源代码]¶
- Overview:
CommLearner 的一个实现,使用 flask 和文件系统。
- Interfaces:
__init__, send_policy, get_data, send_learn_info, start, close
- Property:
hooks4call
- get_data(batch_size: int) List[Callable][source]¶
- Overview:
获取数据加载函数的列表,这些函数可以通过dataloader实现从文件中读取数据。
- Arguments:
batch_size (
int): 批量大小。
- Returns:
数据 (
List[Callable]): 一个可调用的数据加载函数列表。
- send_learn_info(learn_info: dict) None[source]¶
- Overview:
将学习信息字典存储在队列中,该队列将由回调函数“deal_with_learner_learn”在学习者从节点中检索,然后发送给协调器。
- Arguments:
learn_info (
dict): 学习信息以dict类型表示。键值包括‘learner_step’、‘priority_info’、‘finished_task’等。您可以参考learn_info``(``worker/learner/base_learner.py)获取详细信息。
create_comm_learner¶
- Overview:
给定键(comm_learner_name),如果在comm_map的值中,则创建一个新的comm learner实例,否则抛出KeyError。换句话说,派生的comm learner必须首先注册,然后才能调用
create_comm_learner来获取实例。- Arguments:
cfg (
dict): 学习器配置。必要的键:[import_names, comm_learner_type]。
- Returns:
学习者 (
BaseCommLearner): 创建的新通信学习者,应该是comm_map值之一的实例。