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

**********************
create_trial_component
**********************



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

  

  Creates a *trial component*, which is a stage of a machine learning *trial*. A trial is composed of one or more trial components. A trial component can be used in multiple trials.

   

  Trial components include pre-processing jobs, training jobs, and batch transform jobs.

   

  When you use SageMaker Studio or the SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the Amazon Web Services SDK for Python (Boto), you must use the logging APIs provided by the SDK.

   

  You can add tags to a trial component and then use the `Search <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html>`__ API to search for the tags.

  

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


  **Request Syntax**
  ::

    response = client.create_trial_component(
        TrialComponentName='string',
        DisplayName='string',
        Status={
            'PrimaryStatus': 'InProgress'|'Completed'|'Failed'|'Stopping'|'Stopped',
            'Message': 'string'
        },
        StartTime=datetime(2015, 1, 1),
        EndTime=datetime(2015, 1, 1),
        Parameters={
            'string': {
                'StringValue': 'string',
                'NumberValue': 123.0
            }
        },
        InputArtifacts={
            'string': {
                'MediaType': 'string',
                'Value': 'string'
            }
        },
        OutputArtifacts={
            'string': {
                'MediaType': 'string',
                'Value': 'string'
            }
        },
        MetadataProperties={
            'CommitId': 'string',
            'Repository': 'string',
            'GeneratedBy': 'string',
            'ProjectId': 'string'
        },
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type TrialComponentName: string
  :param TrialComponentName: **[REQUIRED]** 

    The name of the component. The name must be unique in your Amazon Web Services account and is not case-sensitive.

    

  
  :type DisplayName: string
  :param DisplayName: 

    The name of the component as displayed. The name doesn't need to be unique. If ``DisplayName`` isn't specified, ``TrialComponentName`` is displayed.

    

  
  :type Status: dict
  :param Status: 

    The status of the component. States include:

     

    
    * InProgress
     
    * Completed
     
    * Failed
    

    

  
    - **PrimaryStatus** *(string) --* 

      The status of the trial component.

      

    
    - **Message** *(string) --* 

      If the component failed, a message describing why.

      

    
  
  :type StartTime: datetime
  :param StartTime: 

    When the component started.

    

  
  :type EndTime: datetime
  :param EndTime: 

    When the component ended.

    

  
  :type Parameters: dict
  :param Parameters: 

    The hyperparameters for the component.

    

  
    - *(string) --* 

    
      - *(dict) --* 

        The value of a hyperparameter. Only one of ``NumberValue`` or ``StringValue`` can be specified.

         

        This object is specified in the `CreateTrialComponent <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrialComponent.html>`__ request.

        

      
        - **StringValue** *(string) --* 

          The string value of a categorical hyperparameter. If you specify a value for this parameter, you can't specify the ``NumberValue`` parameter.

          

        
        - **NumberValue** *(float) --* 

          The numeric value of a numeric hyperparameter. If you specify a value for this parameter, you can't specify the ``StringValue`` parameter.

          

        
      


  :type InputArtifacts: dict
  :param InputArtifacts: 

    The input artifacts for the component. Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and instance types.

    

  
    - *(string) --* 

    
      - *(dict) --* 

        Represents an input or output artifact of a trial component. You specify ``TrialComponentArtifact`` as part of the ``InputArtifacts`` and ``OutputArtifacts`` parameters in the `CreateTrialComponent <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrialComponent.html>`__ request.

         

        Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and instance types. Examples of output artifacts are metrics, snapshots, logs, and images.

        

      
        - **MediaType** *(string) --* 

          The media type of the artifact, which indicates the type of data in the artifact file. The media type consists of a *type* and a *subtype* concatenated with a slash (/) character, for example, text/csv, image/jpeg, and s3/uri. The type specifies the category of the media. The subtype specifies the kind of data.

          

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

          The location of the artifact.

          

        
      


  :type OutputArtifacts: dict
  :param OutputArtifacts: 

    The output artifacts for the component. Examples of output artifacts are metrics, snapshots, logs, and images.

    

  
    - *(string) --* 

    
      - *(dict) --* 

        Represents an input or output artifact of a trial component. You specify ``TrialComponentArtifact`` as part of the ``InputArtifacts`` and ``OutputArtifacts`` parameters in the `CreateTrialComponent <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrialComponent.html>`__ request.

         

        Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and instance types. Examples of output artifacts are metrics, snapshots, logs, and images.

        

      
        - **MediaType** *(string) --* 

          The media type of the artifact, which indicates the type of data in the artifact file. The media type consists of a *type* and a *subtype* concatenated with a slash (/) character, for example, text/csv, image/jpeg, and s3/uri. The type specifies the category of the media. The subtype specifies the kind of data.

          

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

          The location of the artifact.

          

        
      


  :type MetadataProperties: dict
  :param MetadataProperties: 

    Metadata properties of the tracking entity, trial, or trial component.

    

  
    - **CommitId** *(string) --* 

      The commit ID.

      

    
    - **Repository** *(string) --* 

      The repository.

      

    
    - **GeneratedBy** *(string) --* 

      The entity this entity was generated by.

      

    
    - **ProjectId** *(string) --* 

      The project ID.

      

    
  
  :type Tags: list
  :param Tags: 

    A list of tags to associate with the component. You can use `Search <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html>`__ API to search on the tags.

    

  
    - *(dict) --* 

      A tag object that consists of a key and an optional value, used to manage metadata for SageMaker Amazon Web Services resources.

       

      You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see `AddTags <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html>`__.

       

      For more information on adding metadata to your Amazon Web Services resources with tagging, see `Tagging Amazon Web Services resources <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`__. For advice on best practices for managing Amazon Web Services resources with tagging, see `Tagging Best Practices\: Implement an Effective Amazon Web Services Resource Tagging Strategy <https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf>`__.

      

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

        The tag key. Tag keys must be unique per resource.

        

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

        The tag value.

        

      
    

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

    
    ::

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

    

    - *(dict) --* 
      

      - **TrialComponentArn** *(string) --* 

        The Amazon Resource Name (ARN) of the trial component.

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

  