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

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

/*
 * Copyright 2015-2020 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 CreateTrainingJobRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the training job. The name must be unique within an AWS Region in an AWS account. *

*/ private String trainingJobName; /** *

* Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start * the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see * Algorithms. *

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is * limited to 256 characters, as specified by the Length Constraint. *

*/ private java.util.Map hyperParameters; /** *

* The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, * including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing * your own algorithms, see Using * Your Own Algorithms with Amazon SageMaker. *

*/ private AlgorithmSpecification algorithmSpecification; /** *

* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf. *

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a * Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch * Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For * more information, see Amazon * SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole * permission. *

*
*/ private String roleArn; /** *

* An array of Channel objects. Each channel is a named input source. InputDataConfig * describes the input data and its location. *

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of * input data, training_data and validation_data. The configuration for each channel * provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the * stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an * S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if * you specify an EFS location, input data files will be made available as input streams. They do not need to be * downloaded. *

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

* Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. *

*/ private OutputDataConfig outputDataConfig; /** *

* The resources, including the ML compute instances and ML storage volumes, to use for model training. *

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage * volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, * choose File as the TrainingInputMode in the algorithm specification. For distributed * training algorithms, specify an instance count greater than 1. *

*/ private ResourceConfig resourceConfig; /** *

* A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to * and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon * Virtual Private Cloud. *

*/ private VpcConfig vpcConfig; /** *

* Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker * ends the training job. Use this API to cap model training costs. *

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination * for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of * training are not lost. *

*/ private StoppingCondition stoppingCondition; /** *

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

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

* Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers * within a training cluster for distributed training. If you enable network isolation for training jobs that are * configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the * specified VPC, but the training container does not have network access. *

*/ private Boolean enableNetworkIsolation; /** *

* To encrypt all communications between ML compute instances in distributed training, choose True. * Encryption provides greater security for distributed training, but training might take longer. How long it takes * depends on the amount of communication between compute instances, especially if you use a deep learning algorithm * in distributed training. For more information, see Protect Communications Between ML * Compute Instances in a Distributed Training Job. *

*/ private Boolean enableInterContainerTrafficEncryption; /** *

* To train models using managed spot training, choose True. Managed spot training provides a fully * managed and scalable infrastructure for training machine learning models. this option is useful when training * jobs can be interrupted and when there is flexibility when the training job is run. *

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting * point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used * to see when managed spot training jobs are running, interrupted, resumed, or completed. *

*/ private Boolean enableManagedSpotTraining; /** *

* Contains information about the output location for managed spot training checkpoint data. *

*/ private CheckpointConfig checkpointConfig; private DebugHookConfig debugHookConfig; /** *

* Configuration information for Debugger rules for debugging output tensors. *

*/ private java.util.List debugRuleConfigurations; private TensorBoardOutputConfig tensorBoardOutputConfig; private ExperimentConfig experimentConfig; private ProfilerConfig profilerConfig; /** *

* Configuration information for Debugger rules for profiling system and framework metrics. *

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

* The name of the training job. The name must be unique within an AWS Region in an AWS account. *

* * @param trainingJobName * The name of the training job. The name must be unique within an AWS Region in an AWS account. */ public void setTrainingJobName(String trainingJobName) { this.trainingJobName = trainingJobName; } /** *

* The name of the training job. The name must be unique within an AWS Region in an AWS account. *

* * @return The name of the training job. The name must be unique within an AWS Region in an AWS account. */ public String getTrainingJobName() { return this.trainingJobName; } /** *

* The name of the training job. The name must be unique within an AWS Region in an AWS account. *

* * @param trainingJobName * The name of the training job. The name must be unique within an AWS Region in an AWS account. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withTrainingJobName(String trainingJobName) { setTrainingJobName(trainingJobName); return this; } /** *

* Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start * the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see * Algorithms. *

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is * limited to 256 characters, as specified by the Length Constraint. *

* * @return Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you * start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon * SageMaker, see Algorithms.

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and * value is limited to 256 characters, as specified by the Length Constraint. */ public java.util.Map getHyperParameters() { return hyperParameters; } /** *

* Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start * the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see * Algorithms. *

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is * limited to 256 characters, as specified by the Length Constraint. *

* * @param hyperParameters * Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you * start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon * SageMaker, see Algorithms.

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and * value is limited to 256 characters, as specified by the Length Constraint. */ public void setHyperParameters(java.util.Map hyperParameters) { this.hyperParameters = hyperParameters; } /** *

* Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start * the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see * Algorithms. *

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is * limited to 256 characters, as specified by the Length Constraint. *

* * @param hyperParameters * Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you * start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon * SageMaker, see Algorithms.

*

* You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and * value is limited to 256 characters, as specified by the Length Constraint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withHyperParameters(java.util.Map hyperParameters) { setHyperParameters(hyperParameters); return this; } /** * Add a single HyperParameters entry * * @see CreateTrainingJobRequest#withHyperParameters * @returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest addHyperParametersEntry(String key, String value) { if (null == this.hyperParameters) { this.hyperParameters = new java.util.HashMap(); } if (this.hyperParameters.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.hyperParameters.put(key, value); return this; } /** * Removes all the entries added into HyperParameters. * * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest clearHyperParametersEntries() { this.hyperParameters = null; return this; } /** *

* The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, * including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing * your own algorithms, see Using * Your Own Algorithms with Amazon SageMaker. *

* * @param algorithmSpecification * The registry path of the Docker image that contains the training algorithm and algorithm-specific * metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, * see Algorithms. For information * about providing your own algorithms, see Using Your Own Algorithms with * Amazon SageMaker. */ public void setAlgorithmSpecification(AlgorithmSpecification algorithmSpecification) { this.algorithmSpecification = algorithmSpecification; } /** *

* The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, * including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing * your own algorithms, see Using * Your Own Algorithms with Amazon SageMaker. *

* * @return The registry path of the Docker image that contains the training algorithm and algorithm-specific * metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, * see Algorithms. For information * about providing your own algorithms, see Using Your Own Algorithms * with Amazon SageMaker. */ public AlgorithmSpecification getAlgorithmSpecification() { return this.algorithmSpecification; } /** *

* The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, * including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing * your own algorithms, see Using * Your Own Algorithms with Amazon SageMaker. *

* * @param algorithmSpecification * The registry path of the Docker image that contains the training algorithm and algorithm-specific * metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, * see Algorithms. For information * about providing your own algorithms, see Using Your Own Algorithms with * Amazon SageMaker. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withAlgorithmSpecification(AlgorithmSpecification algorithmSpecification) { setAlgorithmSpecification(algorithmSpecification); return this; } /** *

* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf. *

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a * Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch * Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For * more information, see Amazon * SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole * permission. *

*
* * @param roleArn * The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your * behalf.

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, * download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to * Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these * tasks to an IAM role. For more information, see Amazon SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the * iam:PassRole permission. *

*/ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** *

* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf. *

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a * Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch * Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For * more information, see Amazon * SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole * permission. *

*
* * @return The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your * behalf.

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, * download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to * Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these * tasks to an IAM role. For more information, see Amazon SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the * iam:PassRole permission. *

*/ public String getRoleArn() { return this.roleArn; } /** *

* The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf. *

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a * Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch * Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For * more information, see Amazon * SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole * permission. *

*
* * @param roleArn * The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your * behalf.

*

* During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, * download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to * Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these * tasks to an IAM role. For more information, see Amazon SageMaker Roles. *

* *

* To be able to pass this role to Amazon SageMaker, the caller of this API must have the * iam:PassRole permission. *

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withRoleArn(String roleArn) { setRoleArn(roleArn); return this; } /** *

* An array of Channel objects. Each channel is a named input source. InputDataConfig * describes the input data and its location. *

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of * input data, training_data and validation_data. The configuration for each channel * provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the * stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an * S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if * you specify an EFS location, input data files will be made available as input streams. They do not need to be * downloaded. *

* * @return An array of Channel objects. Each channel is a named input source. * InputDataConfig describes the input data and its location.

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two * channels of input data, training_data and validation_data. The configuration * for each channel provides the S3, EFS, or FSx location where the input data is stored. It also provides * information about the stored data: the MIME type, compression method, and whether the data is wrapped in * RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files * from an S3 bucket to a local directory in the Docker container, or makes it available as input streams. * For example, if you specify an EFS location, input data files will be made available as input streams. * They do not need to be downloaded. */ public java.util.List getInputDataConfig() { return inputDataConfig; } /** *

* An array of Channel objects. Each channel is a named input source. InputDataConfig * describes the input data and its location. *

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of * input data, training_data and validation_data. The configuration for each channel * provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the * stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an * S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if * you specify an EFS location, input data files will be made available as input streams. They do not need to be * downloaded. *

* * @param inputDataConfig * An array of Channel objects. Each channel is a named input source. * InputDataConfig describes the input data and its location.

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two * channels of input data, training_data and validation_data. The configuration for * each channel provides the S3, EFS, or FSx location where the input data is stored. It also provides * information about the stored data: the MIME type, compression method, and whether the data is wrapped in * RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files * from an S3 bucket to a local directory in the Docker container, or makes it available as input streams. * For example, if you specify an EFS location, input data files will be made available as input streams. * They do not need to be downloaded. */ public void setInputDataConfig(java.util.Collection inputDataConfig) { if (inputDataConfig == null) { this.inputDataConfig = null; return; } this.inputDataConfig = new java.util.ArrayList(inputDataConfig); } /** *

* An array of Channel objects. Each channel is a named input source. InputDataConfig * describes the input data and its location. *

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of * input data, training_data and validation_data. The configuration for each channel * provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the * stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an * S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if * you specify an EFS location, input data files will be made available as input streams. They do not need to be * downloaded. *

*

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

* * @param inputDataConfig * An array of Channel objects. Each channel is a named input source. * InputDataConfig describes the input data and its location.

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two * channels of input data, training_data and validation_data. The configuration for * each channel provides the S3, EFS, or FSx location where the input data is stored. It also provides * information about the stored data: the MIME type, compression method, and whether the data is wrapped in * RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files * from an S3 bucket to a local directory in the Docker container, or makes it available as input streams. * For example, if you specify an EFS location, input data files will be made available as input streams. * They do not need to be downloaded. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withInputDataConfig(Channel... inputDataConfig) { if (this.inputDataConfig == null) { setInputDataConfig(new java.util.ArrayList(inputDataConfig.length)); } for (Channel ele : inputDataConfig) { this.inputDataConfig.add(ele); } return this; } /** *

* An array of Channel objects. Each channel is a named input source. InputDataConfig * describes the input data and its location. *

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of * input data, training_data and validation_data. The configuration for each channel * provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the * stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an * S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if * you specify an EFS location, input data files will be made available as input streams. They do not need to be * downloaded. *

* * @param inputDataConfig * An array of Channel objects. Each channel is a named input source. * InputDataConfig describes the input data and its location.

*

* Algorithms can accept input data from one or more channels. For example, an algorithm might have two * channels of input data, training_data and validation_data. The configuration for * each channel provides the S3, EFS, or FSx location where the input data is stored. It also provides * information about the stored data: the MIME type, compression method, and whether the data is wrapped in * RecordIO format. *

*

* Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files * from an S3 bucket to a local directory in the Docker container, or makes it available as input streams. * For example, if you specify an EFS location, input data files will be made available as input streams. * They do not need to be downloaded. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withInputDataConfig(java.util.Collection inputDataConfig) { setInputDataConfig(inputDataConfig); return this; } /** *

* Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. *

* * @param outputDataConfig * Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. */ public void setOutputDataConfig(OutputDataConfig outputDataConfig) { this.outputDataConfig = outputDataConfig; } /** *

* Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. *

* * @return Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. */ public OutputDataConfig getOutputDataConfig() { return this.outputDataConfig; } /** *

* Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. *

* * @param outputDataConfig * Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates * subfolders for the artifacts. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withOutputDataConfig(OutputDataConfig outputDataConfig) { setOutputDataConfig(outputDataConfig); return this; } /** *

* The resources, including the ML compute instances and ML storage volumes, to use for model training. *

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage * volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, * choose File as the TrainingInputMode in the algorithm specification. For distributed * training algorithms, specify an instance count greater than 1. *

* * @param resourceConfig * The resources, including the ML compute instances and ML storage volumes, to use for model training.

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML * storage volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the * training data, choose File as the TrainingInputMode in the algorithm * specification. For distributed training algorithms, specify an instance count greater than 1. */ public void setResourceConfig(ResourceConfig resourceConfig) { this.resourceConfig = resourceConfig; } /** *

* The resources, including the ML compute instances and ML storage volumes, to use for model training. *

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage * volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, * choose File as the TrainingInputMode in the algorithm specification. For distributed * training algorithms, specify an instance count greater than 1. *

* * @return The resources, including the ML compute instances and ML storage volumes, to use for model training.

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML * storage volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the * training data, choose File as the TrainingInputMode in the algorithm * specification. For distributed training algorithms, specify an instance count greater than 1. */ public ResourceConfig getResourceConfig() { return this.resourceConfig; } /** *

* The resources, including the ML compute instances and ML storage volumes, to use for model training. *

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage * volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, * choose File as the TrainingInputMode in the algorithm specification. For distributed * training algorithms, specify an instance count greater than 1. *

* * @param resourceConfig * The resources, including the ML compute instances and ML storage volumes, to use for model training.

*

* ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML * storage volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the * training data, choose File as the TrainingInputMode in the algorithm * specification. For distributed training algorithms, specify an instance count greater than 1. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withResourceConfig(ResourceConfig resourceConfig) { setResourceConfig(resourceConfig); return this; } /** *

* A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to * and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon * Virtual Private Cloud. *

* * @param vpcConfig * A VpcConfig object that specifies the VPC that you want your training job to connect to. Control * access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an * Amazon Virtual Private Cloud. */ public void setVpcConfig(VpcConfig vpcConfig) { this.vpcConfig = vpcConfig; } /** *

* A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to * and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon * Virtual Private Cloud. *

* * @return A VpcConfig object that specifies the VPC that you want your training job to connect to. Control * access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an * Amazon Virtual Private Cloud. */ public VpcConfig getVpcConfig() { return this.vpcConfig; } /** *

* A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to * and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon * Virtual Private Cloud. *

* * @param vpcConfig * A VpcConfig object that specifies the VPC that you want your training job to connect to. Control * access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an * Amazon Virtual Private Cloud. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withVpcConfig(VpcConfig vpcConfig) { setVpcConfig(vpcConfig); return this; } /** *

* Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker * ends the training job. Use this API to cap model training costs. *

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination * for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of * training are not lost. *

* * @param stoppingCondition * Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon * SageMaker ends the training job. Use this API to cap model training costs.

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job * termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost. */ public void setStoppingCondition(StoppingCondition stoppingCondition) { this.stoppingCondition = stoppingCondition; } /** *

* Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker * ends the training job. Use this API to cap model training costs. *

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination * for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of * training are not lost. *

* * @return Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon * SageMaker ends the training job. Use this API to cap model training costs.

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job * termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so * the results of training are not lost. */ public StoppingCondition getStoppingCondition() { return this.stoppingCondition; } /** *

* Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker * ends the training job. Use this API to cap model training costs. *

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination * for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of * training are not lost. *

* * @param stoppingCondition * Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon * SageMaker ends the training job. Use this API to cap model training costs.

*

* To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job * termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withStoppingCondition(StoppingCondition stoppingCondition) { setStoppingCondition(stoppingCondition); return this; } /** *

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

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

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

* * @param tags * An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for * example, by purpose, owner, or environment. For more information, see Tagging AWS 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 AWS resources in different ways, for example, by * purpose, owner, or environment. For more information, see Tagging AWS 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 AWS resources in different ways, for * example, by purpose, owner, or environment. For more information, see Tagging AWS Resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest 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 AWS resources in different ways, for example, by * purpose, owner, or environment. For more information, see Tagging AWS Resources. *

* * @param tags * An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for * example, by purpose, owner, or environment. For more information, see Tagging AWS Resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

* Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers * within a training cluster for distributed training. If you enable network isolation for training jobs that are * configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the * specified VPC, but the training container does not have network access. *

* * @param enableNetworkIsolation * Isolates the training container. No inbound or outbound network calls can be made, except for calls * between peers within a training cluster for distributed training. If you enable network isolation for * training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and * model artifacts through the specified VPC, but the training container does not have network access. */ public void setEnableNetworkIsolation(Boolean enableNetworkIsolation) { this.enableNetworkIsolation = enableNetworkIsolation; } /** *

* Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers * within a training cluster for distributed training. If you enable network isolation for training jobs that are * configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the * specified VPC, but the training container does not have network access. *

* * @return Isolates the training container. No inbound or outbound network calls can be made, except for calls * between peers within a training cluster for distributed training. If you enable network isolation for * training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and * model artifacts through the specified VPC, but the training container does not have network access. */ public Boolean getEnableNetworkIsolation() { return this.enableNetworkIsolation; } /** *

* Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers * within a training cluster for distributed training. If you enable network isolation for training jobs that are * configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the * specified VPC, but the training container does not have network access. *

* * @param enableNetworkIsolation * Isolates the training container. No inbound or outbound network calls can be made, except for calls * between peers within a training cluster for distributed training. If you enable network isolation for * training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and * model artifacts through the specified VPC, but the training container does not have network access. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withEnableNetworkIsolation(Boolean enableNetworkIsolation) { setEnableNetworkIsolation(enableNetworkIsolation); return this; } /** *

* Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers * within a training cluster for distributed training. If you enable network isolation for training jobs that are * configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the * specified VPC, but the training container does not have network access. *

* * @return Isolates the training container. No inbound or outbound network calls can be made, except for calls * between peers within a training cluster for distributed training. If you enable network isolation for * training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and * model artifacts through the specified VPC, but the training container does not have network access. */ public Boolean isEnableNetworkIsolation() { return this.enableNetworkIsolation; } /** *

* To encrypt all communications between ML compute instances in distributed training, choose True. * Encryption provides greater security for distributed training, but training might take longer. How long it takes * depends on the amount of communication between compute instances, especially if you use a deep learning algorithm * in distributed training. For more information, see Protect Communications Between ML * Compute Instances in a Distributed Training Job. *

* * @param enableInterContainerTrafficEncryption * To encrypt all communications between ML compute instances in distributed training, choose * True. Encryption provides greater security for distributed training, but training might take * longer. How long it takes depends on the amount of communication between compute instances, especially if * you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between * ML Compute Instances in a Distributed Training Job. */ public void setEnableInterContainerTrafficEncryption(Boolean enableInterContainerTrafficEncryption) { this.enableInterContainerTrafficEncryption = enableInterContainerTrafficEncryption; } /** *

* To encrypt all communications between ML compute instances in distributed training, choose True. * Encryption provides greater security for distributed training, but training might take longer. How long it takes * depends on the amount of communication between compute instances, especially if you use a deep learning algorithm * in distributed training. For more information, see Protect Communications Between ML * Compute Instances in a Distributed Training Job. *

* * @return To encrypt all communications between ML compute instances in distributed training, choose * True. Encryption provides greater security for distributed training, but training might take * longer. How long it takes depends on the amount of communication between compute instances, especially if * you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between * ML Compute Instances in a Distributed Training Job. */ public Boolean getEnableInterContainerTrafficEncryption() { return this.enableInterContainerTrafficEncryption; } /** *

* To encrypt all communications between ML compute instances in distributed training, choose True. * Encryption provides greater security for distributed training, but training might take longer. How long it takes * depends on the amount of communication between compute instances, especially if you use a deep learning algorithm * in distributed training. For more information, see Protect Communications Between ML * Compute Instances in a Distributed Training Job. *

* * @param enableInterContainerTrafficEncryption * To encrypt all communications between ML compute instances in distributed training, choose * True. Encryption provides greater security for distributed training, but training might take * longer. How long it takes depends on the amount of communication between compute instances, especially if * you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between * ML Compute Instances in a Distributed Training Job. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withEnableInterContainerTrafficEncryption(Boolean enableInterContainerTrafficEncryption) { setEnableInterContainerTrafficEncryption(enableInterContainerTrafficEncryption); return this; } /** *

* To encrypt all communications between ML compute instances in distributed training, choose True. * Encryption provides greater security for distributed training, but training might take longer. How long it takes * depends on the amount of communication between compute instances, especially if you use a deep learning algorithm * in distributed training. For more information, see Protect Communications Between ML * Compute Instances in a Distributed Training Job. *

* * @return To encrypt all communications between ML compute instances in distributed training, choose * True. Encryption provides greater security for distributed training, but training might take * longer. How long it takes depends on the amount of communication between compute instances, especially if * you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between * ML Compute Instances in a Distributed Training Job. */ public Boolean isEnableInterContainerTrafficEncryption() { return this.enableInterContainerTrafficEncryption; } /** *

* To train models using managed spot training, choose True. Managed spot training provides a fully * managed and scalable infrastructure for training machine learning models. this option is useful when training * jobs can be interrupted and when there is flexibility when the training job is run. *

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting * point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used * to see when managed spot training jobs are running, interrupted, resumed, or completed. *

* * @param enableManagedSpotTraining * To train models using managed spot training, choose True. Managed spot training provides a * fully managed and scalable infrastructure for training machine learning models. this option is useful when * training jobs can be interrupted and when there is flexibility when the training job is run.

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a * starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. * They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed. */ public void setEnableManagedSpotTraining(Boolean enableManagedSpotTraining) { this.enableManagedSpotTraining = enableManagedSpotTraining; } /** *

* To train models using managed spot training, choose True. Managed spot training provides a fully * managed and scalable infrastructure for training machine learning models. this option is useful when training * jobs can be interrupted and when there is flexibility when the training job is run. *

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting * point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used * to see when managed spot training jobs are running, interrupted, resumed, or completed. *

* * @return To train models using managed spot training, choose True. Managed spot training provides a * fully managed and scalable infrastructure for training machine learning models. this option is useful * when training jobs can be interrupted and when there is flexibility when the training job is run.

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a * starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. * They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed. */ public Boolean getEnableManagedSpotTraining() { return this.enableManagedSpotTraining; } /** *

* To train models using managed spot training, choose True. Managed spot training provides a fully * managed and scalable infrastructure for training machine learning models. this option is useful when training * jobs can be interrupted and when there is flexibility when the training job is run. *

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting * point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used * to see when managed spot training jobs are running, interrupted, resumed, or completed. *

* * @param enableManagedSpotTraining * To train models using managed spot training, choose True. Managed spot training provides a * fully managed and scalable infrastructure for training machine learning models. this option is useful when * training jobs can be interrupted and when there is flexibility when the training job is run.

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a * starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. * They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withEnableManagedSpotTraining(Boolean enableManagedSpotTraining) { setEnableManagedSpotTraining(enableManagedSpotTraining); return this; } /** *

* To train models using managed spot training, choose True. Managed spot training provides a fully * managed and scalable infrastructure for training machine learning models. this option is useful when training * jobs can be interrupted and when there is flexibility when the training job is run. *

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting * point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used * to see when managed spot training jobs are running, interrupted, resumed, or completed. *

* * @return To train models using managed spot training, choose True. Managed spot training provides a * fully managed and scalable infrastructure for training machine learning models. this option is useful * when training jobs can be interrupted and when there is flexibility when the training job is run.

*

* The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a * starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. * They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed. */ public Boolean isEnableManagedSpotTraining() { return this.enableManagedSpotTraining; } /** *

* Contains information about the output location for managed spot training checkpoint data. *

* * @param checkpointConfig * Contains information about the output location for managed spot training checkpoint data. */ public void setCheckpointConfig(CheckpointConfig checkpointConfig) { this.checkpointConfig = checkpointConfig; } /** *

* Contains information about the output location for managed spot training checkpoint data. *

* * @return Contains information about the output location for managed spot training checkpoint data. */ public CheckpointConfig getCheckpointConfig() { return this.checkpointConfig; } /** *

* Contains information about the output location for managed spot training checkpoint data. *

* * @param checkpointConfig * Contains information about the output location for managed spot training checkpoint data. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withCheckpointConfig(CheckpointConfig checkpointConfig) { setCheckpointConfig(checkpointConfig); return this; } /** * @param debugHookConfig */ public void setDebugHookConfig(DebugHookConfig debugHookConfig) { this.debugHookConfig = debugHookConfig; } /** * @return */ public DebugHookConfig getDebugHookConfig() { return this.debugHookConfig; } /** * @param debugHookConfig * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withDebugHookConfig(DebugHookConfig debugHookConfig) { setDebugHookConfig(debugHookConfig); return this; } /** *

* Configuration information for Debugger rules for debugging output tensors. *

* * @return Configuration information for Debugger rules for debugging output tensors. */ public java.util.List getDebugRuleConfigurations() { return debugRuleConfigurations; } /** *

* Configuration information for Debugger rules for debugging output tensors. *

* * @param debugRuleConfigurations * Configuration information for Debugger rules for debugging output tensors. */ public void setDebugRuleConfigurations(java.util.Collection debugRuleConfigurations) { if (debugRuleConfigurations == null) { this.debugRuleConfigurations = null; return; } this.debugRuleConfigurations = new java.util.ArrayList(debugRuleConfigurations); } /** *

* Configuration information for Debugger rules for debugging output tensors. *

*

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

* * @param debugRuleConfigurations * Configuration information for Debugger rules for debugging output tensors. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withDebugRuleConfigurations(DebugRuleConfiguration... debugRuleConfigurations) { if (this.debugRuleConfigurations == null) { setDebugRuleConfigurations(new java.util.ArrayList(debugRuleConfigurations.length)); } for (DebugRuleConfiguration ele : debugRuleConfigurations) { this.debugRuleConfigurations.add(ele); } return this; } /** *

* Configuration information for Debugger rules for debugging output tensors. *

* * @param debugRuleConfigurations * Configuration information for Debugger rules for debugging output tensors. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withDebugRuleConfigurations(java.util.Collection debugRuleConfigurations) { setDebugRuleConfigurations(debugRuleConfigurations); return this; } /** * @param tensorBoardOutputConfig */ public void setTensorBoardOutputConfig(TensorBoardOutputConfig tensorBoardOutputConfig) { this.tensorBoardOutputConfig = tensorBoardOutputConfig; } /** * @return */ public TensorBoardOutputConfig getTensorBoardOutputConfig() { return this.tensorBoardOutputConfig; } /** * @param tensorBoardOutputConfig * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withTensorBoardOutputConfig(TensorBoardOutputConfig tensorBoardOutputConfig) { setTensorBoardOutputConfig(tensorBoardOutputConfig); return this; } /** * @param experimentConfig */ public void setExperimentConfig(ExperimentConfig experimentConfig) { this.experimentConfig = experimentConfig; } /** * @return */ public ExperimentConfig getExperimentConfig() { return this.experimentConfig; } /** * @param experimentConfig * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withExperimentConfig(ExperimentConfig experimentConfig) { setExperimentConfig(experimentConfig); return this; } /** * @param profilerConfig */ public void setProfilerConfig(ProfilerConfig profilerConfig) { this.profilerConfig = profilerConfig; } /** * @return */ public ProfilerConfig getProfilerConfig() { return this.profilerConfig; } /** * @param profilerConfig * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withProfilerConfig(ProfilerConfig profilerConfig) { setProfilerConfig(profilerConfig); return this; } /** *

* Configuration information for Debugger rules for profiling system and framework metrics. *

* * @return Configuration information for Debugger rules for profiling system and framework metrics. */ public java.util.List getProfilerRuleConfigurations() { return profilerRuleConfigurations; } /** *

* Configuration information for Debugger rules for profiling system and framework metrics. *

* * @param profilerRuleConfigurations * Configuration information for Debugger rules for profiling system and framework metrics. */ public void setProfilerRuleConfigurations(java.util.Collection profilerRuleConfigurations) { if (profilerRuleConfigurations == null) { this.profilerRuleConfigurations = null; return; } this.profilerRuleConfigurations = new java.util.ArrayList(profilerRuleConfigurations); } /** *

* Configuration information for Debugger rules for profiling system and framework metrics. *

*

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

* * @param profilerRuleConfigurations * Configuration information for Debugger rules for profiling system and framework metrics. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withProfilerRuleConfigurations(ProfilerRuleConfiguration... profilerRuleConfigurations) { if (this.profilerRuleConfigurations == null) { setProfilerRuleConfigurations(new java.util.ArrayList(profilerRuleConfigurations.length)); } for (ProfilerRuleConfiguration ele : profilerRuleConfigurations) { this.profilerRuleConfigurations.add(ele); } return this; } /** *

* Configuration information for Debugger rules for profiling system and framework metrics. *

* * @param profilerRuleConfigurations * Configuration information for Debugger rules for profiling system and framework metrics. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateTrainingJobRequest withProfilerRuleConfigurations(java.util.Collection profilerRuleConfigurations) { setProfilerRuleConfigurations(profilerRuleConfigurations); 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 (getTrainingJobName() != null) sb.append("TrainingJobName: ").append(getTrainingJobName()).append(","); if (getHyperParameters() != null) sb.append("HyperParameters: ").append(getHyperParameters()).append(","); if (getAlgorithmSpecification() != null) sb.append("AlgorithmSpecification: ").append(getAlgorithmSpecification()).append(","); if (getRoleArn() != null) sb.append("RoleArn: ").append(getRoleArn()).append(","); if (getInputDataConfig() != null) sb.append("InputDataConfig: ").append(getInputDataConfig()).append(","); if (getOutputDataConfig() != null) sb.append("OutputDataConfig: ").append(getOutputDataConfig()).append(","); if (getResourceConfig() != null) sb.append("ResourceConfig: ").append(getResourceConfig()).append(","); if (getVpcConfig() != null) sb.append("VpcConfig: ").append(getVpcConfig()).append(","); if (getStoppingCondition() != null) sb.append("StoppingCondition: ").append(getStoppingCondition()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getEnableNetworkIsolation() != null) sb.append("EnableNetworkIsolation: ").append(getEnableNetworkIsolation()).append(","); if (getEnableInterContainerTrafficEncryption() != null) sb.append("EnableInterContainerTrafficEncryption: ").append(getEnableInterContainerTrafficEncryption()).append(","); if (getEnableManagedSpotTraining() != null) sb.append("EnableManagedSpotTraining: ").append(getEnableManagedSpotTraining()).append(","); if (getCheckpointConfig() != null) sb.append("CheckpointConfig: ").append(getCheckpointConfig()).append(","); if (getDebugHookConfig() != null) sb.append("DebugHookConfig: ").append(getDebugHookConfig()).append(","); if (getDebugRuleConfigurations() != null) sb.append("DebugRuleConfigurations: ").append(getDebugRuleConfigurations()).append(","); if (getTensorBoardOutputConfig() != null) sb.append("TensorBoardOutputConfig: ").append(getTensorBoardOutputConfig()).append(","); if (getExperimentConfig() != null) sb.append("ExperimentConfig: ").append(getExperimentConfig()).append(","); if (getProfilerConfig() != null) sb.append("ProfilerConfig: ").append(getProfilerConfig()).append(","); if (getProfilerRuleConfigurations() != null) sb.append("ProfilerRuleConfigurations: ").append(getProfilerRuleConfigurations()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateTrainingJobRequest == false) return false; CreateTrainingJobRequest other = (CreateTrainingJobRequest) obj; if (other.getTrainingJobName() == null ^ this.getTrainingJobName() == null) return false; if (other.getTrainingJobName() != null && other.getTrainingJobName().equals(this.getTrainingJobName()) == false) return false; if (other.getHyperParameters() == null ^ this.getHyperParameters() == null) return false; if (other.getHyperParameters() != null && other.getHyperParameters().equals(this.getHyperParameters()) == false) return false; if (other.getAlgorithmSpecification() == null ^ this.getAlgorithmSpecification() == null) return false; if (other.getAlgorithmSpecification() != null && other.getAlgorithmSpecification().equals(this.getAlgorithmSpecification()) == false) return false; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; if (other.getInputDataConfig() == null ^ this.getInputDataConfig() == null) return false; if (other.getInputDataConfig() != null && other.getInputDataConfig().equals(this.getInputDataConfig()) == false) return false; if (other.getOutputDataConfig() == null ^ this.getOutputDataConfig() == null) return false; if (other.getOutputDataConfig() != null && other.getOutputDataConfig().equals(this.getOutputDataConfig()) == false) return false; if (other.getResourceConfig() == null ^ this.getResourceConfig() == null) return false; if (other.getResourceConfig() != null && other.getResourceConfig().equals(this.getResourceConfig()) == false) return false; if (other.getVpcConfig() == null ^ this.getVpcConfig() == null) return false; if (other.getVpcConfig() != null && other.getVpcConfig().equals(this.getVpcConfig()) == false) return false; if (other.getStoppingCondition() == null ^ this.getStoppingCondition() == null) return false; if (other.getStoppingCondition() != null && other.getStoppingCondition().equals(this.getStoppingCondition()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getEnableNetworkIsolation() == null ^ this.getEnableNetworkIsolation() == null) return false; if (other.getEnableNetworkIsolation() != null && other.getEnableNetworkIsolation().equals(this.getEnableNetworkIsolation()) == false) return false; if (other.getEnableInterContainerTrafficEncryption() == null ^ this.getEnableInterContainerTrafficEncryption() == null) return false; if (other.getEnableInterContainerTrafficEncryption() != null && other.getEnableInterContainerTrafficEncryption().equals(this.getEnableInterContainerTrafficEncryption()) == false) return false; if (other.getEnableManagedSpotTraining() == null ^ this.getEnableManagedSpotTraining() == null) return false; if (other.getEnableManagedSpotTraining() != null && other.getEnableManagedSpotTraining().equals(this.getEnableManagedSpotTraining()) == false) return false; if (other.getCheckpointConfig() == null ^ this.getCheckpointConfig() == null) return false; if (other.getCheckpointConfig() != null && other.getCheckpointConfig().equals(this.getCheckpointConfig()) == false) return false; if (other.getDebugHookConfig() == null ^ this.getDebugHookConfig() == null) return false; if (other.getDebugHookConfig() != null && other.getDebugHookConfig().equals(this.getDebugHookConfig()) == false) return false; if (other.getDebugRuleConfigurations() == null ^ this.getDebugRuleConfigurations() == null) return false; if (other.getDebugRuleConfigurations() != null && other.getDebugRuleConfigurations().equals(this.getDebugRuleConfigurations()) == false) return false; if (other.getTensorBoardOutputConfig() == null ^ this.getTensorBoardOutputConfig() == null) return false; if (other.getTensorBoardOutputConfig() != null && other.getTensorBoardOutputConfig().equals(this.getTensorBoardOutputConfig()) == false) return false; if (other.getExperimentConfig() == null ^ this.getExperimentConfig() == null) return false; if (other.getExperimentConfig() != null && other.getExperimentConfig().equals(this.getExperimentConfig()) == false) return false; if (other.getProfilerConfig() == null ^ this.getProfilerConfig() == null) return false; if (other.getProfilerConfig() != null && other.getProfilerConfig().equals(this.getProfilerConfig()) == false) return false; if (other.getProfilerRuleConfigurations() == null ^ this.getProfilerRuleConfigurations() == null) return false; if (other.getProfilerRuleConfigurations() != null && other.getProfilerRuleConfigurations().equals(this.getProfilerRuleConfigurations()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTrainingJobName() == null) ? 0 : getTrainingJobName().hashCode()); hashCode = prime * hashCode + ((getHyperParameters() == null) ? 0 : getHyperParameters().hashCode()); hashCode = prime * hashCode + ((getAlgorithmSpecification() == null) ? 0 : getAlgorithmSpecification().hashCode()); hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); hashCode = prime * hashCode + ((getInputDataConfig() == null) ? 0 : getInputDataConfig().hashCode()); hashCode = prime * hashCode + ((getOutputDataConfig() == null) ? 0 : getOutputDataConfig().hashCode()); hashCode = prime * hashCode + ((getResourceConfig() == null) ? 0 : getResourceConfig().hashCode()); hashCode = prime * hashCode + ((getVpcConfig() == null) ? 0 : getVpcConfig().hashCode()); hashCode = prime * hashCode + ((getStoppingCondition() == null) ? 0 : getStoppingCondition().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getEnableNetworkIsolation() == null) ? 0 : getEnableNetworkIsolation().hashCode()); hashCode = prime * hashCode + ((getEnableInterContainerTrafficEncryption() == null) ? 0 : getEnableInterContainerTrafficEncryption().hashCode()); hashCode = prime * hashCode + ((getEnableManagedSpotTraining() == null) ? 0 : getEnableManagedSpotTraining().hashCode()); hashCode = prime * hashCode + ((getCheckpointConfig() == null) ? 0 : getCheckpointConfig().hashCode()); hashCode = prime * hashCode + ((getDebugHookConfig() == null) ? 0 : getDebugHookConfig().hashCode()); hashCode = prime * hashCode + ((getDebugRuleConfigurations() == null) ? 0 : getDebugRuleConfigurations().hashCode()); hashCode = prime * hashCode + ((getTensorBoardOutputConfig() == null) ? 0 : getTensorBoardOutputConfig().hashCode()); hashCode = prime * hashCode + ((getExperimentConfig() == null) ? 0 : getExperimentConfig().hashCode()); hashCode = prime * hashCode + ((getProfilerConfig() == null) ? 0 : getProfilerConfig().hashCode()); hashCode = prime * hashCode + ((getProfilerRuleConfigurations() == null) ? 0 : getProfilerRuleConfigurations().hashCode()); return hashCode; } @Override public CreateTrainingJobRequest clone() { return (CreateTrainingJobRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy