
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();
}
}