fedlab_core.utils.messaging
¶
Module Contents¶
Classes¶
Different types of messages between client and server that we support go here. |
Functions¶
|
Sends a message to destination. |
|
Receives message from source. |
|
Broadcast a message to all workers. |
|
Workers recv the message from the center |
-
class
fedlab_core.utils.messaging.
MessageCode
¶ Bases:
enum.Enum
Different types of messages between client and server that we support go here.
-
ParameterRequest
= 0¶
-
GradientUpdate
= 1¶
-
ParameterUpdate
= 2¶
-
EvaluateParams
= 3¶
-
Exit
= 4¶
-
-
fedlab_core.utils.messaging.
send_message
(message_code, payload, dst=0)¶ Sends a message to destination.
Concatenates destination rank, message code and payload into a single tensor, then sends it.
- Parameters
message_code (MessageCode) – Type of message, defined in MessageCode
payload – Serialized tensor
dst (int, optional) – Destination rank. Default is 0 which means the server
- Returns
Serialized message package, including rank of current process rank, message code, and the payload
-
fedlab_core.utils.messaging.
recv_message
(payload, src=None)¶ Receives message from source.
- Parameters
payload – Tensor to fill with received data. The first element is the source rank, and the second element is
code. (message) –
src (int, optional) – Source rank. Will receive from any process if unspecified.
- Returns
Serialized model parameters
- Raises
None –
-
fedlab_core.utils.messaging.
broadcast_message
(message_code, payload)¶ Broadcast a message to all workers.
Concatenates destination rank, message code and payload into a single tensor, then broadcasts the tensor to the whole group.
Args:
Returns:
Raises:
-
fedlab_core.utils.messaging.
recv_broadcast_message
(recv_buff)¶ Workers recv the message from the center
Args:
Returns:
Raises: