code: def test_annotate_multiple_fields(backend_config, setup):
      # check that we can load partially annotated data
      dataset, anno_key, label_field, labels = setup
      label_schema = {
          "cls_field": {
              "type": "classification",
              "labels": ["yes", "no"],
              "classes": ["yes", "no"],
          },
          "det_field": {
              "type": "detections",
              "classes": ["obj"],
          },
      }
  
      dataset.annotate(
          anno_key,
          label_schema=label_schema,
          project_name=f"labelstudio_multi-field_tests",
          backend="labelstudio",
          **backend_config,
      )
  
      # create dummy prediction and convert to annotations
      dummy_predictions_cls = _generate_dummy_predictions(
          "classification", labels, len(dataset)
      )
      dummy_predictions_det = _generate_dummy_predictions(
          "detections", labels, len(dataset)
      )
      _add_dummy_annotations(
          dataset, anno_key, dummy_predictions_det, backend_config
      )
      dataset.load_annotations(
          anno_key, cleanup=False, **backend_config
      )
      labelled = dataset.exists("det_field")
      assert len(labelled) == len(dataset)
      # can't load them together, so do it one by one
      _add_dummy_annotations(
          dataset, anno_key, dummy_predictions_cls, backend_config
      )
      dataset.load_annotations(
          anno_key, cleanup=False, **backend_config
      )
      labelled = dataset.exists("cls_field")
      assert len(labelled) == len(dataset)
  
imports: import os
  import random
  import numpy
  import pytest
  import fiftyone
  import fiftyone.zoo
  import fiftyone.utils.labelstudio
  import fiftyone.core.labels
label_desc: Use image node_id 10 for calling a global function with example usage: test_annotate_multiple_fields(backend_config, setup) without return types