code: def test_sam_semantic_segmentation_zero_shot_evaluate_predict(
      checkpoint_name,
  ):
      _, _, test_df = get_file_df_binary_semantic_seg(need_test_gt=True)
  
      validation_metric = "iou"
      predictor = MultiModalPredictor(
          problem_type="semantic_segmentation",
          validation_metric=validation_metric,
          eval_metric=validation_metric,
          hyperparameters={
              "model.sam.checkpoint_name": checkpoint_name,
          },
          label="label",
          sample_data_path=test_df,
      )
  
      # Evaluate
      predictor.evaluate(test_df, metrics=["iou"])
  
      # Predict
      predictor.predict(test_df, save_results=False)
  
      # Predict without ground truth
      _, _, test_df = get_file_df_binary_semantic_seg(
          need_test_gt=False
      )
      predictor.predict(test_df, save_results=False)
  
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 8 for calling a global function with example usage: test_sam_semantic_segmentation_zero_shot_evaluate_predict(checkpoint_name) without return types