:doc:`SageMaker <../../sagemaker>` / Client / update_inference_experiment

***************************
update_inference_experiment
***************************



.. py:method:: SageMaker.Client.update_inference_experiment(**kwargs)

  

  Updates an inference experiment that you created. The status of the inference experiment has to be either ``Created``, ``Running``. For more information on the status of an inference experiment, see `DescribeInferenceExperiment <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeInferenceExperiment.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateInferenceExperiment>`_  


  **Request Syntax**
  ::

    response = client.update_inference_experiment(
        Name='string',
        Schedule={
            'StartTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1)
        },
        Description='string',
        ModelVariants=[
            {
                'ModelName': 'string',
                'VariantName': 'string',
                'InfrastructureConfig': {
                    'InfrastructureType': 'RealTimeInference',
                    'RealTimeInferenceConfig': {
                        'InstanceType': 'ml.t2.medium'|'ml.t2.large'|'ml.t2.xlarge'|'ml.t2.2xlarge'|'ml.t3.medium'|'ml.t3.large'|'ml.t3.xlarge'|'ml.t3.2xlarge'|'ml.m4.xlarge'|'ml.m4.2xlarge'|'ml.m4.4xlarge'|'ml.m4.10xlarge'|'ml.m4.16xlarge'|'ml.m5.xlarge'|'ml.m5.2xlarge'|'ml.m5.4xlarge'|'ml.m5.12xlarge'|'ml.m5.24xlarge'|'ml.m5d.large'|'ml.m5d.xlarge'|'ml.m5d.2xlarge'|'ml.m5d.4xlarge'|'ml.m5d.8xlarge'|'ml.m5d.12xlarge'|'ml.m5d.16xlarge'|'ml.m5d.24xlarge'|'ml.c4.xlarge'|'ml.c4.2xlarge'|'ml.c4.4xlarge'|'ml.c4.8xlarge'|'ml.c5.xlarge'|'ml.c5.2xlarge'|'ml.c5.4xlarge'|'ml.c5.9xlarge'|'ml.c5.18xlarge'|'ml.c5d.xlarge'|'ml.c5d.2xlarge'|'ml.c5d.4xlarge'|'ml.c5d.9xlarge'|'ml.c5d.18xlarge'|'ml.p2.xlarge'|'ml.p2.8xlarge'|'ml.p2.16xlarge'|'ml.p3.2xlarge'|'ml.p3.8xlarge'|'ml.p3.16xlarge'|'ml.p3dn.24xlarge'|'ml.g4dn.xlarge'|'ml.g4dn.2xlarge'|'ml.g4dn.4xlarge'|'ml.g4dn.8xlarge'|'ml.g4dn.12xlarge'|'ml.g4dn.16xlarge'|'ml.r5.large'|'ml.r5.xlarge'|'ml.r5.2xlarge'|'ml.r5.4xlarge'|'ml.r5.8xlarge'|'ml.r5.12xlarge'|'ml.r5.16xlarge'|'ml.r5.24xlarge'|'ml.g5.xlarge'|'ml.g5.2xlarge'|'ml.g5.4xlarge'|'ml.g5.8xlarge'|'ml.g5.16xlarge'|'ml.g5.12xlarge'|'ml.g5.24xlarge'|'ml.g5.48xlarge'|'ml.inf1.xlarge'|'ml.inf1.2xlarge'|'ml.inf1.6xlarge'|'ml.inf1.24xlarge'|'ml.trn1.2xlarge'|'ml.trn1.32xlarge'|'ml.trn1n.32xlarge'|'ml.inf2.xlarge'|'ml.inf2.8xlarge'|'ml.inf2.24xlarge'|'ml.inf2.48xlarge'|'ml.p4d.24xlarge'|'ml.p4de.24xlarge'|'ml.p5.48xlarge'|'ml.p6-b200.48xlarge'|'ml.m6i.large'|'ml.m6i.xlarge'|'ml.m6i.2xlarge'|'ml.m6i.4xlarge'|'ml.m6i.8xlarge'|'ml.m6i.12xlarge'|'ml.m6i.16xlarge'|'ml.m6i.24xlarge'|'ml.m6i.32xlarge'|'ml.m7i.large'|'ml.m7i.xlarge'|'ml.m7i.2xlarge'|'ml.m7i.4xlarge'|'ml.m7i.8xlarge'|'ml.m7i.12xlarge'|'ml.m7i.16xlarge'|'ml.m7i.24xlarge'|'ml.m7i.48xlarge'|'ml.c6i.large'|'ml.c6i.xlarge'|'ml.c6i.2xlarge'|'ml.c6i.4xlarge'|'ml.c6i.8xlarge'|'ml.c6i.12xlarge'|'ml.c6i.16xlarge'|'ml.c6i.24xlarge'|'ml.c6i.32xlarge'|'ml.c7i.large'|'ml.c7i.xlarge'|'ml.c7i.2xlarge'|'ml.c7i.4xlarge'|'ml.c7i.8xlarge'|'ml.c7i.12xlarge'|'ml.c7i.16xlarge'|'ml.c7i.24xlarge'|'ml.c7i.48xlarge'|'ml.r6i.large'|'ml.r6i.xlarge'|'ml.r6i.2xlarge'|'ml.r6i.4xlarge'|'ml.r6i.8xlarge'|'ml.r6i.12xlarge'|'ml.r6i.16xlarge'|'ml.r6i.24xlarge'|'ml.r6i.32xlarge'|'ml.r7i.large'|'ml.r7i.xlarge'|'ml.r7i.2xlarge'|'ml.r7i.4xlarge'|'ml.r7i.8xlarge'|'ml.r7i.12xlarge'|'ml.r7i.16xlarge'|'ml.r7i.24xlarge'|'ml.r7i.48xlarge'|'ml.m6id.large'|'ml.m6id.xlarge'|'ml.m6id.2xlarge'|'ml.m6id.4xlarge'|'ml.m6id.8xlarge'|'ml.m6id.12xlarge'|'ml.m6id.16xlarge'|'ml.m6id.24xlarge'|'ml.m6id.32xlarge'|'ml.c6id.large'|'ml.c6id.xlarge'|'ml.c6id.2xlarge'|'ml.c6id.4xlarge'|'ml.c6id.8xlarge'|'ml.c6id.12xlarge'|'ml.c6id.16xlarge'|'ml.c6id.24xlarge'|'ml.c6id.32xlarge'|'ml.r6id.large'|'ml.r6id.xlarge'|'ml.r6id.2xlarge'|'ml.r6id.4xlarge'|'ml.r6id.8xlarge'|'ml.r6id.12xlarge'|'ml.r6id.16xlarge'|'ml.r6id.24xlarge'|'ml.r6id.32xlarge'|'ml.g6.xlarge'|'ml.g6.2xlarge'|'ml.g6.4xlarge'|'ml.g6.8xlarge'|'ml.g6.12xlarge'|'ml.g6.16xlarge'|'ml.g6.24xlarge'|'ml.g6.48xlarge',
                        'InstanceCount': 123
                    }
                }
            },
        ],
        DataStorageConfig={
            'Destination': 'string',
            'KmsKey': 'string',
            'ContentType': {
                'CsvContentTypes': [
                    'string',
                ],
                'JsonContentTypes': [
                    'string',
                ]
            }
        },
        ShadowModeConfig={
            'SourceModelVariantName': 'string',
            'ShadowModelVariants': [
                {
                    'ShadowModelVariantName': 'string',
                    'SamplingPercentage': 123
                },
            ]
        }
    )
    
  :type Name: string
  :param Name: **[REQUIRED]** 

    The name of the inference experiment to be updated.

    

  
  :type Schedule: dict
  :param Schedule: 

    The duration for which the inference experiment will run. If the status of the inference experiment is ``Created``, then you can update both the start and end dates. If the status of the inference experiment is ``Running``, then you can update only the end date.

    

  
    - **StartTime** *(datetime) --* 

      The timestamp at which the inference experiment started or will start.

      

    
    - **EndTime** *(datetime) --* 

      The timestamp at which the inference experiment ended or will end.

      

    
  
  :type Description: string
  :param Description: 

    The description of the inference experiment.

    

  
  :type ModelVariants: list
  :param ModelVariants: 

    An array of ``ModelVariantConfig`` objects. There is one for each variant, whose infrastructure configuration you want to update.

    

  
    - *(dict) --* 

      Contains information about the deployment options of a model.

      

    
      - **ModelName** *(string) --* **[REQUIRED]** 

        The name of the Amazon SageMaker Model entity.

        

      
      - **VariantName** *(string) --* **[REQUIRED]** 

        The name of the variant.

        

      
      - **InfrastructureConfig** *(dict) --* **[REQUIRED]** 

        The configuration for the infrastructure that the model will be deployed to.

        

      
        - **InfrastructureType** *(string) --* **[REQUIRED]** 

          The inference option to which to deploy your model. Possible values are the following:

           

          
          * ``RealTime``: Deploy to real-time inference.
          

          

        
        - **RealTimeInferenceConfig** *(dict) --* **[REQUIRED]** 

          The infrastructure configuration for deploying the model to real-time inference.

          

        
          - **InstanceType** *(string) --* **[REQUIRED]** 

            The instance type the model is deployed to.

            

          
          - **InstanceCount** *(integer) --* **[REQUIRED]** 

            The number of instances of the type specified by ``InstanceType``.

            

          
        
      
    

  :type DataStorageConfig: dict
  :param DataStorageConfig: 

    The Amazon S3 location and configuration for storing inference request and response data.

    

  
    - **Destination** *(string) --* **[REQUIRED]** 

      The Amazon S3 bucket where the inference request and response data is stored.

      

    
    - **KmsKey** *(string) --* 

      The Amazon Web Services Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.

      

    
    - **ContentType** *(dict) --* 

      Configuration specifying how to treat different headers. If no headers are specified Amazon SageMaker AI will by default base64 encode when capturing the data.

      

    
      - **CsvContentTypes** *(list) --* 

        The list of all content type headers that Amazon SageMaker AI will treat as CSV and capture accordingly.

        

      
        - *(string) --* 

        
    
      - **JsonContentTypes** *(list) --* 

        The list of all content type headers that SageMaker AI will treat as JSON and capture accordingly.

        

      
        - *(string) --* 

        
    
    
  
  :type ShadowModeConfig: dict
  :param ShadowModeConfig: 

    The configuration of ``ShadowMode`` inference experiment type. Use this field to specify a production variant which takes all the inference requests, and a shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant also specify the percentage of requests that Amazon SageMaker replicates.

    

  
    - **SourceModelVariantName** *(string) --* **[REQUIRED]** 

      The name of the production variant, which takes all the inference requests.

      

    
    - **ShadowModelVariants** *(list) --* **[REQUIRED]** 

      List of shadow variant configurations.

      

    
      - *(dict) --* 

        The name and sampling percentage of a shadow variant.

        

      
        - **ShadowModelVariantName** *(string) --* **[REQUIRED]** 

          The name of the shadow variant.

          

        
        - **SamplingPercentage** *(integer) --* **[REQUIRED]** 

          The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.

          

        
      
  
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'InferenceExperimentArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **InferenceExperimentArn** *(string) --* 

        The ARN of the updated inference experiment.

        
  
  **Exceptions**
  
  *   :py:class:`SageMaker.Client.exceptions.ConflictException`

  
  *   :py:class:`SageMaker.Client.exceptions.ResourceNotFound`

  