Пример #1
0
 def train_model_for_dirty_field(task: ExtendedTask, dirty_field_id: Any) -> None:
     dirty_field = DocumentField.objects.get(pk=dirty_field_id)
     if dirty_field.can_retrain():
         dirty_field.dirty = False
         dirty_field.save()
         train_docs_count = field_detection_utils.get_approved_documents_number(dirty_field, None)
         if train_docs_count >= dirty_field.trained_after_documents_number:
             new_model = field_detection.train_document_field_detector_model(CeleryTaskLogger(task),
                                                                             dirty_field,
                                                                             None)
             if new_model:
                 ClassifierModel.objects.filter(document_field=dirty_field).delete()
                 new_model.save()
Пример #2
0
    def train_model_for_dirty_field(task: ExtendedTask, dirty_field_id: Any) -> None:
        dirty_field = DocumentTypeField.objects \
            .filter(pk=dirty_field_id) \
            .prefetch_related('document_type', 'document_field')[0]

        if dirty_field.can_retrain():
            dirty_field.dirty = False
            dirty_field.save()
            document_type = dirty_field.document_type
            field = dirty_field.document_field
            train_docs_count = field_detection_utils.get_approved_documents_number(document_type, field, None)
            if train_docs_count >= settings.ML_TRAIN_DATA_SET_GROUP_LEN:
                new_model = field_detection.train_document_field_detector_model(CeleryTaskLogger(task),
                                                                                document_type, field, None)
                if new_model:
                    ClassifierModel.objects.filter(document_type=document_type, document_field=field).delete()
                    new_model.save()