code: def test_sam_semantic_segmentation_lora_insert(frozen_layers):
      _, _, test_df = get_file_df_binary_semantic_seg(need_test_gt=True)
      # SAM's vision encoder has query and value linear layers, while the prompt encoder does not.
      predictor = MultiModalPredictor(
          problem_type="semantic_segmentation",
          hyperparameters={
              "model.sam.checkpoint_name": "facebook/sam-vit-base",
              "model.sam.frozen_layers": frozen_layers,
          },
          label="label",
      )
      # Evaluate
      predictor.evaluate(test_df, metrics=["iou"])
      model = predictor._learner._model
      assert (
          hasattr(model, "frozen_layers")
          and len(model.frozen_layers) > 0
      )
      for k, v in model.named_parameters():
          for filter_layer in model.frozen_layers:
              if filter_layer in k:
                  assert "lora" not in k
  
imports: import os
  import shutil
  import uuid
  import numpy
  import numpy.testing
  import pandas
  import pytest
  import torch
  from autogluon.core.utils.loaders import load_zip
  from autogluon.multimodal import MultiModalPredictor
label_desc: Use image node_id 12 for calling a global function with example usage: test_sam_semantic_segmentation_lora_insert(frozen_layers) without return types