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.EnumDifferent 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: