Skip to content

declearn.communication.messaging.TrainRequest

Bases: Message

Server-emitted request to participate in a training round.

Source code in declearn/messaging/_base.py
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
@dataclasses.dataclass
class TrainRequest(Message):
    """Server-emitted request to participate in a training round."""

    typekey = "train_request"

    round_i: int
    weights: Optional[Vector]
    aux_var: Dict[str, AuxVar]
    batches: Dict[str, Any]
    n_epoch: Optional[int] = None
    n_steps: Optional[int] = None
    timeout: Optional[int] = None

    def to_kwargs(self) -> Dict[str, Any]:
        # Undo recursive dict-conversion of dataclasses.
        data = super().to_kwargs()
        data["aux_var"] = self.aux_var
        return data