Skip to content

fl_server_api.serializers.generic

Classes:

Name Description
ErrorSerializer

Serializer for error messages.

TrainingSerializerWithRounds

Serializer for the Training model including the update progress.

Attributes:

Name Type Description
GroupSerializer Type[ModelSerializer]
MetricSerializer Type[ModelSerializer]
TrainingSerializer Type[ModelSerializer]

Attributes

GroupSerializer module-attribute

GroupSerializer: Type[ModelSerializer] = _create_generic_serializer(Group, ['id', 'name'])

MetricSerializer module-attribute

MetricSerializer: Type[ModelSerializer] = _create_generic_serializer(Metric)

TrainingSerializer module-attribute

TrainingSerializer: Type[ModelSerializer] = _create_generic_serializer(Training)

Classes

ErrorSerializer

Bases: Serializer


              flowchart TD
              fl_server_api.serializers.generic.ErrorSerializer[ErrorSerializer]

              

              click fl_server_api.serializers.generic.ErrorSerializer href "" "fl_server_api.serializers.generic.ErrorSerializer"
            

Serializer for error messages.

Attributes:

Name Type Description
detail

Detailed error message.

Source code in fl_server_api/serializers/generic.py
class ErrorSerializer(serializers.Serializer):
    """
    Serializer for error messages.
    """

    detail = serializers.CharField()
    """Detailed error message."""

Attributes

detail class-attribute instance-attribute
detail = CharField()

Detailed error message.

TrainingSerializerWithRounds

Bases: TrainingSerializer


              flowchart TD
              fl_server_api.serializers.generic.TrainingSerializerWithRounds[TrainingSerializerWithRounds]

                              fl_server_api.serializers.generic.TrainingSerializer --> fl_server_api.serializers.generic.TrainingSerializerWithRounds
                


              click fl_server_api.serializers.generic.TrainingSerializerWithRounds href "" "fl_server_api.serializers.generic.TrainingSerializerWithRounds"
            

Serializer for the Training model including the update progress.

Methods:

Name Description
to_representation

Generate a dictionary representation of the Training model instance including the update progress.

Source code in fl_server_api/serializers/generic.py
class TrainingSerializerWithRounds(TrainingSerializer):
    """
    Serializer for the Training model including the update progress.
    """

    def to_representation(self, obj: Training):
        """
        Generate a dictionary representation of the Training model instance including the update progress.

        Args:
            obj (Training): The training model instance.

        Returns:
            dict: The dictionary representation of the training model instance.
        """
        base_representation = super().to_representation(obj)
        base_representation["local_models_arrived"] = len(LocalModel.objects.filter(base_model=obj.model))
        base_representation["local_models_expected"] = len(obj.participants.all())
        return base_representation

Functions

to_representation
to_representation(obj: Training)

Generate a dictionary representation of the Training model instance including the update progress.

Parameters:

Name Type Description Default
obj
Training

The training model instance.

required

Returns:

Name Type Description
dict

The dictionary representation of the training model instance.

Source code in fl_server_api/serializers/generic.py
def to_representation(self, obj: Training):
    """
    Generate a dictionary representation of the Training model instance including the update progress.

    Args:
        obj (Training): The training model instance.

    Returns:
        dict: The dictionary representation of the training model instance.
    """
    base_representation = super().to_representation(obj)
    base_representation["local_models_arrived"] = len(LocalModel.objects.filter(base_model=obj.model))
    base_representation["local_models_expected"] = len(obj.participants.all())
    return base_representation