All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.sagemaker.model.CreateAlgorithmRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon SageMaker module holds the client classes that are used for communicating with Amazon SageMaker Service

There is a newer version: 1.12.782
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.sagemaker.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateAlgorithmRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the algorithm. *

*/ private String algorithmName; /** *

* A description of the algorithm. *

*/ private String algorithmDescription; /** *

* Specifies details about training jobs run by this algorithm, including the following: *

*
    *
  • *

    * The Amazon ECR path of the container and the version digest of the algorithm. *

    *
  • *
  • *

    * The hyperparameters that the algorithm supports. *

    *
  • *
  • *

    * The instance types that the algorithm supports for training. *

    *
  • *
  • *

    * Whether the algorithm supports distributed training. *

    *
  • *
  • *

    * The metrics that the algorithm emits to Amazon CloudWatch. *

    *
  • *
  • *

    * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. *

    *
  • *
  • *

    * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

    *
  • *
*/ private TrainingSpecification trainingSpecification; /** *

* Specifies details about inference jobs that the algorithm runs, including the following: *

*
    *
  • *

    * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

    *
  • *
  • *

    * The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference. *

    *
  • *
  • *

    * The input and output content formats that the algorithm supports for inference. *

    *
  • *
*/ private InferenceSpecification inferenceSpecification; /** *

* Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's training * code and, optionally, one or more batch transform jobs that SageMaker runs to test the algorithm's inference * code. *

*/ private AlgorithmValidationSpecification validationSpecification; /** *

* Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. *

*/ private Boolean certifyForMarketplace; /** *

* An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, * for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. *

*/ private java.util.List tags; /** *

* The name of the algorithm. *

* * @param algorithmName * The name of the algorithm. */ public void setAlgorithmName(String algorithmName) { this.algorithmName = algorithmName; } /** *

* The name of the algorithm. *

* * @return The name of the algorithm. */ public String getAlgorithmName() { return this.algorithmName; } /** *

* The name of the algorithm. *

* * @param algorithmName * The name of the algorithm. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withAlgorithmName(String algorithmName) { setAlgorithmName(algorithmName); return this; } /** *

* A description of the algorithm. *

* * @param algorithmDescription * A description of the algorithm. */ public void setAlgorithmDescription(String algorithmDescription) { this.algorithmDescription = algorithmDescription; } /** *

* A description of the algorithm. *

* * @return A description of the algorithm. */ public String getAlgorithmDescription() { return this.algorithmDescription; } /** *

* A description of the algorithm. *

* * @param algorithmDescription * A description of the algorithm. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withAlgorithmDescription(String algorithmDescription) { setAlgorithmDescription(algorithmDescription); return this; } /** *

* Specifies details about training jobs run by this algorithm, including the following: *

*
    *
  • *

    * The Amazon ECR path of the container and the version digest of the algorithm. *

    *
  • *
  • *

    * The hyperparameters that the algorithm supports. *

    *
  • *
  • *

    * The instance types that the algorithm supports for training. *

    *
  • *
  • *

    * Whether the algorithm supports distributed training. *

    *
  • *
  • *

    * The metrics that the algorithm emits to Amazon CloudWatch. *

    *
  • *
  • *

    * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. *

    *
  • *
  • *

    * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

    *
  • *
* * @param trainingSpecification * Specifies details about training jobs run by this algorithm, including the following:

*
    *
  • *

    * The Amazon ECR path of the container and the version digest of the algorithm. *

    *
  • *
  • *

    * The hyperparameters that the algorithm supports. *

    *
  • *
  • *

    * The instance types that the algorithm supports for training. *

    *
  • *
  • *

    * Whether the algorithm supports distributed training. *

    *
  • *
  • *

    * The metrics that the algorithm emits to Amazon CloudWatch. *

    *
  • *
  • *

    * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. *

    *
  • *
  • *

    * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

    *
  • */ public void setTrainingSpecification(TrainingSpecification trainingSpecification) { this.trainingSpecification = trainingSpecification; } /** *

    * Specifies details about training jobs run by this algorithm, including the following: *

    *
      *
    • *

      * The Amazon ECR path of the container and the version digest of the algorithm. *

      *
    • *
    • *

      * The hyperparameters that the algorithm supports. *

      *
    • *
    • *

      * The instance types that the algorithm supports for training. *

      *
    • *
    • *

      * Whether the algorithm supports distributed training. *

      *
    • *
    • *

      * The metrics that the algorithm emits to Amazon CloudWatch. *

      *
    • *
    • *

      * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. *

      *
    • *
    • *

      * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

      *
    • *
    * * @return Specifies details about training jobs run by this algorithm, including the following:

    *
      *
    • *

      * The Amazon ECR path of the container and the version digest of the algorithm. *

      *
    • *
    • *

      * The hyperparameters that the algorithm supports. *

      *
    • *
    • *

      * The instance types that the algorithm supports for training. *

      *
    • *
    • *

      * Whether the algorithm supports distributed training. *

      *
    • *
    • *

      * The metrics that the algorithm emits to Amazon CloudWatch. *

      *
    • *
    • *

      * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning * jobs. *

      *
    • *
    • *

      * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

      *
    • */ public TrainingSpecification getTrainingSpecification() { return this.trainingSpecification; } /** *

      * Specifies details about training jobs run by this algorithm, including the following: *

      *
        *
      • *

        * The Amazon ECR path of the container and the version digest of the algorithm. *

        *
      • *
      • *

        * The hyperparameters that the algorithm supports. *

        *
      • *
      • *

        * The instance types that the algorithm supports for training. *

        *
      • *
      • *

        * Whether the algorithm supports distributed training. *

        *
      • *
      • *

        * The metrics that the algorithm emits to Amazon CloudWatch. *

        *
      • *
      • *

        * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. *

        *
      • *
      • *

        * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

        *
      • *
      * * @param trainingSpecification * Specifies details about training jobs run by this algorithm, including the following:

      *
        *
      • *

        * The Amazon ECR path of the container and the version digest of the algorithm. *

        *
      • *
      • *

        * The hyperparameters that the algorithm supports. *

        *
      • *
      • *

        * The instance types that the algorithm supports for training. *

        *
      • *
      • *

        * Whether the algorithm supports distributed training. *

        *
      • *
      • *

        * The metrics that the algorithm emits to Amazon CloudWatch. *

        *
      • *
      • *

        * Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs. *

        *
      • *
      • *

        * The input channels that the algorithm supports for training data. For example, an algorithm might support * train, validation, and test channels. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withTrainingSpecification(TrainingSpecification trainingSpecification) { setTrainingSpecification(trainingSpecification); return this; } /** *

        * Specifies details about inference jobs that the algorithm runs, including the following: *

        *
          *
        • *

          * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

          *
        • *
        • *

          * The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference. *

          *
        • *
        • *

          * The input and output content formats that the algorithm supports for inference. *

          *
        • *
        * * @param inferenceSpecification * Specifies details about inference jobs that the algorithm runs, including the following:

        *
          *
        • *

          * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

          *
        • *
        • *

          * The instance types that the algorithm supports for transform jobs and real-time endpoints used for * inference. *

          *
        • *
        • *

          * The input and output content formats that the algorithm supports for inference. *

          *
        • */ public void setInferenceSpecification(InferenceSpecification inferenceSpecification) { this.inferenceSpecification = inferenceSpecification; } /** *

          * Specifies details about inference jobs that the algorithm runs, including the following: *

          *
            *
          • *

            * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

            *
          • *
          • *

            * The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference. *

            *
          • *
          • *

            * The input and output content formats that the algorithm supports for inference. *

            *
          • *
          * * @return Specifies details about inference jobs that the algorithm runs, including the following:

          *
            *
          • *

            * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

            *
          • *
          • *

            * The instance types that the algorithm supports for transform jobs and real-time endpoints used for * inference. *

            *
          • *
          • *

            * The input and output content formats that the algorithm supports for inference. *

            *
          • */ public InferenceSpecification getInferenceSpecification() { return this.inferenceSpecification; } /** *

            * Specifies details about inference jobs that the algorithm runs, including the following: *

            *
              *
            • *

              * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

              *
            • *
            • *

              * The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference. *

              *
            • *
            • *

              * The input and output content formats that the algorithm supports for inference. *

              *
            • *
            * * @param inferenceSpecification * Specifies details about inference jobs that the algorithm runs, including the following:

            *
              *
            • *

              * The Amazon ECR paths of containers that contain the inference code and model artifacts. *

              *
            • *
            • *

              * The instance types that the algorithm supports for transform jobs and real-time endpoints used for * inference. *

              *
            • *
            • *

              * The input and output content formats that the algorithm supports for inference. *

              *
            • * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withInferenceSpecification(InferenceSpecification inferenceSpecification) { setInferenceSpecification(inferenceSpecification); return this; } /** *

              * Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's training * code and, optionally, one or more batch transform jobs that SageMaker runs to test the algorithm's inference * code. *

              * * @param validationSpecification * Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's * training code and, optionally, one or more batch transform jobs that SageMaker runs to test the * algorithm's inference code. */ public void setValidationSpecification(AlgorithmValidationSpecification validationSpecification) { this.validationSpecification = validationSpecification; } /** *

              * Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's training * code and, optionally, one or more batch transform jobs that SageMaker runs to test the algorithm's inference * code. *

              * * @return Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's * training code and, optionally, one or more batch transform jobs that SageMaker runs to test the * algorithm's inference code. */ public AlgorithmValidationSpecification getValidationSpecification() { return this.validationSpecification; } /** *

              * Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's training * code and, optionally, one or more batch transform jobs that SageMaker runs to test the algorithm's inference * code. *

              * * @param validationSpecification * Specifies configurations for one or more training jobs and that SageMaker runs to test the algorithm's * training code and, optionally, one or more batch transform jobs that SageMaker runs to test the * algorithm's inference code. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withValidationSpecification(AlgorithmValidationSpecification validationSpecification) { setValidationSpecification(validationSpecification); return this; } /** *

              * Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. *

              * * @param certifyForMarketplace * Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. */ public void setCertifyForMarketplace(Boolean certifyForMarketplace) { this.certifyForMarketplace = certifyForMarketplace; } /** *

              * Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. *

              * * @return Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. */ public Boolean getCertifyForMarketplace() { return this.certifyForMarketplace; } /** *

              * Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. *

              * * @param certifyForMarketplace * Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withCertifyForMarketplace(Boolean certifyForMarketplace) { setCertifyForMarketplace(certifyForMarketplace); return this; } /** *

              * Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. *

              * * @return Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. */ public Boolean isCertifyForMarketplace() { return this.certifyForMarketplace; } /** *

              * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, * for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. *

              * * @return An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in * different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services * Resources. */ public java.util.List getTags() { return tags; } /** *

              * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, * for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. *

              * * @param tags * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in * different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services * Resources. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

              * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, * for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. *

              *

              * NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

              * * @param tags * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in * different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services * Resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

              * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, * for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. *

              * * @param tags * An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in * different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services * Resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAlgorithmRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAlgorithmName() != null) sb.append("AlgorithmName: ").append(getAlgorithmName()).append(","); if (getAlgorithmDescription() != null) sb.append("AlgorithmDescription: ").append(getAlgorithmDescription()).append(","); if (getTrainingSpecification() != null) sb.append("TrainingSpecification: ").append(getTrainingSpecification()).append(","); if (getInferenceSpecification() != null) sb.append("InferenceSpecification: ").append(getInferenceSpecification()).append(","); if (getValidationSpecification() != null) sb.append("ValidationSpecification: ").append(getValidationSpecification()).append(","); if (getCertifyForMarketplace() != null) sb.append("CertifyForMarketplace: ").append(getCertifyForMarketplace()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateAlgorithmRequest == false) return false; CreateAlgorithmRequest other = (CreateAlgorithmRequest) obj; if (other.getAlgorithmName() == null ^ this.getAlgorithmName() == null) return false; if (other.getAlgorithmName() != null && other.getAlgorithmName().equals(this.getAlgorithmName()) == false) return false; if (other.getAlgorithmDescription() == null ^ this.getAlgorithmDescription() == null) return false; if (other.getAlgorithmDescription() != null && other.getAlgorithmDescription().equals(this.getAlgorithmDescription()) == false) return false; if (other.getTrainingSpecification() == null ^ this.getTrainingSpecification() == null) return false; if (other.getTrainingSpecification() != null && other.getTrainingSpecification().equals(this.getTrainingSpecification()) == false) return false; if (other.getInferenceSpecification() == null ^ this.getInferenceSpecification() == null) return false; if (other.getInferenceSpecification() != null && other.getInferenceSpecification().equals(this.getInferenceSpecification()) == false) return false; if (other.getValidationSpecification() == null ^ this.getValidationSpecification() == null) return false; if (other.getValidationSpecification() != null && other.getValidationSpecification().equals(this.getValidationSpecification()) == false) return false; if (other.getCertifyForMarketplace() == null ^ this.getCertifyForMarketplace() == null) return false; if (other.getCertifyForMarketplace() != null && other.getCertifyForMarketplace().equals(this.getCertifyForMarketplace()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAlgorithmName() == null) ? 0 : getAlgorithmName().hashCode()); hashCode = prime * hashCode + ((getAlgorithmDescription() == null) ? 0 : getAlgorithmDescription().hashCode()); hashCode = prime * hashCode + ((getTrainingSpecification() == null) ? 0 : getTrainingSpecification().hashCode()); hashCode = prime * hashCode + ((getInferenceSpecification() == null) ? 0 : getInferenceSpecification().hashCode()); hashCode = prime * hashCode + ((getValidationSpecification() == null) ? 0 : getValidationSpecification().hashCode()); hashCode = prime * hashCode + ((getCertifyForMarketplace() == null) ? 0 : getCertifyForMarketplace().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public CreateAlgorithmRequest clone() { return (CreateAlgorithmRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy