code: def test_model_artifact_variant_estimator(
      self,
      mock_estimator_init: mock.Mock,
      mock_get_model_specs: mock.Mock,
      mock_session: mock.Mock,
      mock_is_valid_model_id: mock.Mock,
  ):
      mock_is_valid_model_id.return_value = True
  
      model_id, _ = "model-artifact-variant-model", "*"
  
      mock_get_model_specs.side_effect = get_special_model_spec
  
      mock_session.return_value = sagemaker_session
  
      # this instance type has a special model artifact
      JumpStartEstimator(
          model_id=model_id, instance_type="ml.p2.xlarge"
      )
  
      mock_estimator_init.assert_called_once_with(
          instance_type="ml.p2.xlarge",
          instance_count=1,
          image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-inference:1.13.1"
          "-transformers4.26.0-gpu-py39-cu117-ubuntu20.04",
          model_uri="s3://jumpstart-cache-prod-us-west-2/hello-mars-1",
          source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/"
          "pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz",
          entry_point="transfer_learning.py",
          hyperparameters={
              "epochs": "3",
              "adam-learning-rate": "0.05",
              "batch-size": "4",
          },
          metric_definitions=[
              {
                  "Regex": "val_accuracy: ([0-9\\.]+)",
                  "Name": "pytorch-ic:val-accuracy",
              }
          ],
          role=execution_role,
          sagemaker_session=sagemaker_session,
          enable_network_isolation=False,
          encrypt_inter_container_traffic=True,
          volume_size=456,
          tags=[
              {
                  "Key": JumpStartTag.MODEL_ID,
                  "Value": "model-artifact-variant-model",
              },
              {"Key": JumpStartTag.MODEL_VERSION, "Value": "1.0.0"},
          ],
      )
  
      mock_estimator_init.reset_mock()
  
      JumpStartEstimator(
          model_id=model_id, instance_type="ml.p99.xlarge"
      )
  
      mock_estimator_init.assert_called_once_with(
          instance_type="ml.p99.xlarge",
          instance_count=1,
          image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-gpu-py3",
          model_uri="s3://jumpstart-cache-prod-us-west-2/pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz",
          source_dir="s3://jumpstart-cache-prod-us-west-2/source-directory-tarballs/pytorch/"
          "transfer_learning/ic/v1.0.0/sourcedir.tar.gz",
          entry_point="transfer_learning.py",
          hyperparameters={
              "epochs": "3",
              "adam-learning-rate": "0.05",
              "batch-size": "4",
          },
          metric_definitions=[
              {
                  "Regex": "val_accuracy: ([0-9\\.]+)",
                  "Name": "pytorch-ic:val-accuracy",
              }
          ],
          role=execution_role,
          sagemaker_session=sagemaker_session,
          enable_network_isolation=False,
          encrypt_inter_container_traffic=True,
          volume_size=456,
          tags=[
              {
                  "Key": "sagemaker-sdk:jumpstart-model-id",
                  "Value": "model-artifact-variant-model",
              },
              {
                  "Key": "sagemaker-sdk:jumpstart-model-version",
                  "Value": "1.0.0",
              },
          ],
      )
  
imports: from __future__ import absolute_import
  import time
  from typing import Optional, Set
  from unittest import mock
  import unittest
  from inspect import signature
  import pytest
  from sagemaker.async_inference.async_inference_config import AsyncInferenceConfig
  from sagemaker.debugger.profiler_config import ProfilerConfig
  from sagemaker.estimator import Estimator
  from sagemaker.instance_group import InstanceGroup
  from sagemaker.jumpstart.artifacts.environment_variables import _retrieve_default_environment_variables
  from sagemaker.jumpstart.artifacts.hyperparameters import _retrieve_default_hyperparameters
  from sagemaker.jumpstart.artifacts.metric_definitions import _retrieve_default_training_metric_definitions
  from sagemaker.jumpstart.constants import DEFAULT_JUMPSTART_SAGEMAKER_SESSION
  from sagemaker.jumpstart.enums import JumpStartScriptScope, JumpStartTag
  from sagemaker.jumpstart.estimator import JumpStartEstimator
  from sagemaker.jumpstart.utils import get_jumpstart_content_bucket
  from sagemaker.session_settings import SessionSettings
  from tests.integ.sagemaker.jumpstart.utils import get_training_dataset_for_model_and_version
  from sagemaker.model import Model
  from sagemaker.predictor import Predictor
  from tests.unit.sagemaker.jumpstart.utils import get_special_model_spec, overwrite_dictionary
label_desc: Use image node_id 23 for calling the EstimatorTest obj's underlying member method code with example usage: obj.test_model_artifact_variant_estimator(mock_estimator_init, mock_get_model_specs, mock_session, mock_is_valid_model_id) without return types