Skip to content
Snippets Groups Projects
Commit 21022aec authored by Bastien Abadie's avatar Bastien Abadie
Browse files

Merge branch 'worker-run-training-attrs' into 'master'

Add training process attributes on RetrieveWorkerRun

Closes #1341

See merge request teklia/arkindex/backend!1793
parents 267d7ce3 3369dc5e
No related branches found
No related tags found
1 merge request!1793Add training process attributes on RetrieveWorkerRun
......@@ -53,7 +53,28 @@ class DataImportLightSerializer(serializers.ModelSerializer):
read_only_fields = ('id', 'state', 'mode', 'corpus', 'creator', 'workflow', 'activity_state')
class DataImportSerializer(DataImportLightSerializer):
class DataImportTrainingSerializer(DataImportLightSerializer):
model_id = serializers.PrimaryKeyRelatedField(read_only=True)
train_folder_id = serializers.PrimaryKeyRelatedField(read_only=True)
validation_folder_id = serializers.PrimaryKeyRelatedField(read_only=True)
test_folder_id = serializers.PrimaryKeyRelatedField(read_only=True)
class Meta(DataImportLightSerializer.Meta):
fields = DataImportLightSerializer.Meta.fields + (
'model_id',
'train_folder_id',
'validation_folder_id',
'test_folder_id',
)
read_only_fields = DataImportLightSerializer.Meta.read_only_fields + (
'model_id',
'train_folder_id',
'validation_folder_id',
'test_folder_id',
)
class DataImportSerializer(DataImportTrainingSerializer):
"""
Serialize a data importing workflow with its settings
"""
......@@ -82,14 +103,9 @@ class DataImportSerializer(DataImportLightSerializer):
source='template',
style={'base_template': 'input.html'}
)
# Training properties
model_id = serializers.PrimaryKeyRelatedField(read_only=True)
train_folder_id = serializers.PrimaryKeyRelatedField(read_only=True)
validation_folder_id = serializers.PrimaryKeyRelatedField(read_only=True)
test_folder_id = serializers.PrimaryKeyRelatedField(read_only=True)
class Meta(DataImportLightSerializer.Meta):
fields = DataImportLightSerializer.Meta.fields + (
class Meta(DataImportTrainingSerializer.Meta):
fields = DataImportTrainingSerializer.Meta.fields + (
'files',
'revision',
'element',
......@@ -101,12 +117,8 @@ class DataImportSerializer(DataImportLightSerializer):
'use_cache',
'use_gpu',
'template_id',
'model_id',
'train_folder_id',
'validation_folder_id',
'test_folder_id',
)
read_only_fields = DataImportLightSerializer.Meta.read_only_fields + (
read_only_fields = DataImportTrainingSerializer.Meta.read_only_fields + (
'files',
'revision',
'element',
......@@ -114,10 +126,6 @@ class DataImportSerializer(DataImportLightSerializer):
'use_cache',
'use_gpu',
'template_id',
'model_id',
'train_folder_id',
'validation_folder_id',
'test_folder_id',
)
def __init__(self, *args, **kwargs):
......@@ -426,7 +434,7 @@ class WorkerRunEditSerializer(WorkerRunSerializer):
worker_version = WorkerVersionSerializer(read_only=True, source='version')
configuration = WorkerConfigurationSerializer(read_only=True)
process = DataImportLightSerializer(read_only=True, source='dataimport')
process = DataImportTrainingSerializer(read_only=True, source='dataimport')
class Meta(WorkerRunSerializer.Meta):
fields = WorkerRunSerializer.Meta.fields + (
......
......@@ -79,6 +79,10 @@ def _deserialize_worker_process(process):
'corpus': str(process.corpus.id),
'workflow': (str(process.workflow) if process.workflow else None),
'activity_state': process.activity_state.value,
'model_id': str(process.model_id) if process.model_id else None,
'train_folder_id': str(process.train_folder_id) if process.train_folder_id else None,
'test_folder_id': str(process.test_folder_id) if process.test_folder_id else None,
'validation_folder_id': str(process.validation_folder_id) if process.validation_folder_id else None,
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment