| from experiment.models import ActivityLog, Experiment, TrainingRun, TrainingSnapshot | |
| from framework.core.registry import ( | |
| ATTENTION_REGISTRY, | |
| LOSS_REGISTRY, | |
| METHOD_REGISTRY, | |
| OPTIMIZER_REGISTRY, | |
| TRAINER_REGISTRY, | |
| ) | |
| from rest_framework import serializers | |
| class ExperimentSerializer(serializers.ModelSerializer): | |
| runs_count = serializers.IntegerField(source="runs.count", read_only=True) | |
| class Meta: | |
| model = Experiment | |
| fields = "__all__" | |
| read_only_fields = ("id", "created_at", "updated_at") | |
| class TrainingRunSerializer(serializers.ModelSerializer): | |
| experiment_name = serializers.CharField(source="experiment.name", read_only=True) | |
| class Meta: | |
| model = TrainingRun | |
| fields = "__all__" | |
| read_only_fields = ( | |
| "id", | |
| "created_at", | |
| "started_at", | |
| "completed_at", | |
| "logs", | |
| "training_history", | |
| ) | |
| class TrainingSnapshotSerializer(serializers.ModelSerializer): | |
| class Meta: | |
| model = TrainingSnapshot | |
| fields = "__all__" | |
| read_only_fields = ("id", "timestamp") | |
| class ActivityLogSerializer(serializers.ModelSerializer): | |
| username = serializers.CharField(source="user.username", read_only=True) | |
| class Meta: | |
| model = ActivityLog | |
| fields = "__all__" | |
| read_only_fields = ("id", "created_at") | |
| class TrainingConfigSerializer(serializers.Serializer): | |
| model_name = serializers.CharField() | |
| task_name = serializers.CharField() | |
| attn_type = serializers.ChoiceField(choices=[]) | |
| method = serializers.ChoiceField(choices=[]) | |
| compressor = serializers.CharField(required=False, allow_blank=True) | |
| trainer_type = serializers.ChoiceField(choices=[]) | |
| loss_type = serializers.ChoiceField(choices=[]) | |
| optimizer_type = serializers.ChoiceField(choices=[]) | |
| selected_callbacks = serializers.ListField( | |
| child=serializers.CharField(), required=False | |
| ) | |
| epochs = serializers.IntegerField() | |
| batch_size = serializers.IntegerField() | |
| learning_rate = serializers.FloatField() | |
| max_seq_length = serializers.IntegerField() | |
| def __init__(self, *args, **kwargs): | |
| super().__init__(*args, **kwargs) | |
| self.fields["attn_type"].choices = list(ATTENTION_REGISTRY.keys()) | |
| self.fields["method"].choices = list(METHOD_REGISTRY.keys()) | |
| self.fields["trainer_type"].choices = list(TRAINER_REGISTRY.keys()) | |
| self.fields["loss_type"].choices = list(LOSS_REGISTRY.keys()) | |
| self.fields["optimizer_type"].choices = list(OPTIMIZER_REGISTRY.keys()) | |
Xet Storage Details
- Size:
- 2.61 kB
- Xet hash:
- 32d6c44e16a406f450d06da095b95d00dd56f89450cd318e582e72a4f9ce0781
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.