AWS Tools for Windows PowerShell
Command Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Synopsis

Calls the Amazon SageMaker Service CreateAutoMLJob API operation.

Syntax

New-SMAutoMLJob
-AutoMLJobName <String>
-CandidateGenerationConfig_AlgorithmsConfig <AutoMLAlgorithmConfig[]>
-ModelDeployConfig_AutoGenerateEndpointName <Boolean>
-SecurityConfig_EnableInterContainerTrafficEncryption <Boolean>
-ModelDeployConfig_EndpointName <String>
-CandidateGenerationConfig_FeatureSpecificationS3Uri <String>
-GenerateCandidateDefinitionsOnly <Boolean>
-InputDataConfig <AutoMLChannel[]>
-OutputDataConfig_KmsKeyId <String>
-CompletionCriteria_MaxAutoMLJobRuntimeInSecond <Int32>
-CompletionCriteria_MaxCandidate <Int32>
-CompletionCriteria_MaxRuntimePerTrainingJobInSecond <Int32>
-AutoMLJobObjective_MetricName <AutoMLMetricEnum>
-AutoMLJobConfig_Mode <AutoMLMode>
-ProblemType <ProblemType>
-RoleArn <String>
-OutputDataConfig_S3OutputPath <String>
-VpcConfig_SecurityGroupId <String[]>
-VpcConfig_Subnet <String[]>
-Tag <Tag[]>
-DataSplitConfig_ValidationFraction <Single>
-SecurityConfig_VolumeKmsKeyId <String>
-Select <String>
-PassThru <SwitchParameter>
-Force <SwitchParameter>
-ClientConfig <AmazonSageMakerConfig>

Description

Creates an Autopilot job also referred to as Autopilot experiment or AutoML job. An AutoML job in SageMaker is a fully automated process that allows you to build machine learning models with minimal effort and machine learning expertise. When initiating an AutoML job, you provide your data and optionally specify parameters tailored to your use case. SageMaker then automates the entire model development lifecycle, including data preprocessing, model training, tuning, and evaluation. AutoML jobs are designed to simplify and accelerate the model building process by automating various tasks and exploring different combinations of machine learning algorithms, data preprocessing techniques, and hyperparameter values. The output of an AutoML job comprises one or more trained models ready for deployment and inference. Additionally, SageMaker AutoML jobs generate a candidate model leaderboard, allowing you to select the best-performing model for deployment. For more information about AutoML jobs, see https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development.html in the SageMaker developer guide. We recommend using the new versions CreateAutoMLJobV2 and DescribeAutoMLJobV2, which offer backward compatibility. CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as time-series forecasting, non-tabular problem types such as image or text classification, and text generation (LLMs fine-tuning). Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2. You can find the best-performing model after you run an AutoML job by calling DescribeAutoMLJobV2 (recommended) or DescribeAutoMLJob.

Parameters

-AutoMLJobConfig_Mode <AutoMLMode>
The method that Autopilot uses to train the data. You can either specify the mode manually or let Autopilot choose for you based on the dataset size by selecting AUTO. In AUTO mode, Autopilot chooses ENSEMBLING for datasets smaller than 100 MB, and HYPERPARAMETER_TUNING for larger ones.The ENSEMBLING mode uses a multi-stack ensemble model to predict classification and regression tasks directly from your dataset. This machine learning mode combines several base models to produce an optimal predictive model. It then uses a stacking ensemble method to combine predictions from contributing members. A multi-stack ensemble model can provide better performance over a single model by combining the predictive capabilities of multiple models. See Autopilot algorithm support for a list of algorithms supported by ENSEMBLING mode.The HYPERPARAMETER_TUNING (HPO) mode uses the best hyperparameters to train the best version of a model. HPO automatically selects an algorithm for the type of problem you want to solve. Then HPO finds the best hyperparameters according to your objective metric. See Autopilot algorithm support for a list of algorithms supported by HYPERPARAMETER_TUNING mode.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-AutoMLJobName <String>
Identifies an Autopilot job. The name must be unique to your account and is case insensitive.
Required?True
Position?1
Accept pipeline input?True (ByValue, ByPropertyName)
-AutoMLJobObjective_MetricName <AutoMLMetricEnum>
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.The list of available metrics supported by Autopilot and the default metric applied when you do not specify a metric name explicitly depend on the problem type.
  • For tabular problem types:
    • List of available metrics:
      • Regression: MAE, MSE, R2, RMSE
      • Binary classification: Accuracy, AUC, BalancedAccuracy, F1, Precision, Recall
      • Multiclass classification: Accuracy, BalancedAccuracy, F1macro, PrecisionMacro, RecallMacro
      For a description of each metric, see Autopilot metrics for classification and regression.
    • Default objective metrics:
      • Regression: MSE.
      • Binary classification: F1.
      • Multiclass classification: Accuracy.
  • For image or text classification problem types:
  • For time-series forecasting problem types:
  • For text generation problem types (LLMs fine-tuning): Fine-tuning language models in Autopilot does not require setting the AutoMLJobObjective field. Autopilot fine-tunes LLMs without requiring multiple candidates to be trained and evaluated. Instead, using your dataset, Autopilot directly fine-tunes your target model to enhance a default objective metric, the cross-entropy loss. After fine-tuning a language model, you can evaluate the quality of its generated text using different metrics. For a list of the available metrics, see Metrics for fine-tuning LLMs in Autopilot.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-CandidateGenerationConfig_AlgorithmsConfig <AutoMLAlgorithmConfig[]>
Stores the configuration information for the selection of algorithms trained on tabular data.The list of available algorithms to choose from depends on the training mode set in TabularJobConfig.Mode.
  • AlgorithmsConfig should not be set if the training mode is set on AUTO.
  • When AlgorithmsConfig is provided, one AutoMLAlgorithms attribute must be set and one only.If the list of algorithms provided as values for AutoMLAlgorithms is empty, CandidateGenerationConfig uses the full set of algorithms for the given training mode.
  • When AlgorithmsConfig is not provided, CandidateGenerationConfig uses the full set of algorithms for the given training mode.
For the list of all algorithms per problem type and training mode, see AutoMLAlgorithmConfig.For more information on each algorithm, see the Algorithm support section in Autopilot developer guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_CandidateGenerationConfig_AlgorithmsConfig
-CandidateGenerationConfig_FeatureSpecificationS3Uri <String>
A URL to the Amazon S3 data source containing selected features from the input data source to run an Autopilot job. You can input FeatureAttributeNames (optional) in JSON format as shown below: { "FeatureAttributeNames":["col1", "col2", ...] }.You can also specify the data type of the feature (optional) in the format shown below:{ "FeatureDataTypes":{"col1":"numeric", "col2":"categorical" ... } }These column keys may not include the target column.In ensembling mode, Autopilot only supports the following data types: numeric, categorical, text, and datetime. In HPO mode, Autopilot can support numeric, categorical, text, datetime, and sequence.If only FeatureDataTypes is provided, the column keys (col1, col2,..) should be a subset of the column names in the input data. If both FeatureDataTypes and FeatureAttributeNames are provided, then the column keys should be a subset of the column names provided in FeatureAttributeNames.The key name FeatureAttributeNames is fixed. The values listed in ["col1", "col2", ...] are case sensitive and should be a list of strings containing unique values that are a subset of the column names in the input data. The list of columns provided must not include the target column.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_CandidateGenerationConfig_FeatureSpecificationS3Uri
-ClientConfig <AmazonSageMakerConfig>
Amazon.PowerShell.Cmdlets.SM.AmazonSageMakerClientCmdlet.ClientConfig
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-CompletionCriteria_MaxAutoMLJobRuntimeInSecond <Int32>
The maximum runtime, in seconds, an AutoML job has to complete.If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_CompletionCriteria_MaxAutoMLJobRuntimeInSeconds
-CompletionCriteria_MaxCandidate <Int32>
The maximum number of times a training job is allowed to run.For text and image classification, time-series forecasting, as well as text generation (LLMs fine-tuning) problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_CompletionCriteria_MaxCandidates
-CompletionCriteria_MaxRuntimePerTrainingJobInSecond <Int32>
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.For job V2s (jobs created by calling CreateAutoMLJobV2), this field controls the runtime of the job candidate.For TextGenerationJobConfig problem types, the maximum time defaults to 72 hours (259200 seconds).
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_CompletionCriteria_MaxRuntimePerTrainingJobInSeconds
-DataSplitConfig_ValidationFraction <Single>
The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_DataSplitConfig_ValidationFraction
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-GenerateCandidateDefinitionsOnly <Boolean>
Generates possible candidates without training the models. A candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-InputDataConfig <AutoMLChannel[]>
An array of channel objects that describes the input data and its location. Each channel is a named input source. Similar to InputDataConfig supported by HyperParameterTrainingJobDefinition. Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the training dataset. There is not a minimum number of rows required for the validation dataset.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-ModelDeployConfig_AutoGenerateEndpointName <Boolean>
Set to True to automatically generate an endpoint name for a one-click Autopilot model deployment; set to False otherwise. The default value is False.If you set AutoGenerateEndpointName to True, do not specify the EndpointName; otherwise a 400 error is thrown.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ModelDeployConfig_EndpointName <String>
Specifies the endpoint name to use for a one-click Autopilot model deployment if the endpoint name is not generated automatically.Specify the EndpointName if and only if you set AutoGenerateEndpointName to False; otherwise a 400 error is thrown.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-OutputDataConfig_KmsKeyId <String>
The Key Management Service encryption key ID.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-OutputDataConfig_S3OutputPath <String>
The Amazon S3 output path. Must be 512 characters or less.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-PassThru <SwitchParameter>
Changes the cmdlet behavior to return the value passed to the AutoMLJobName parameter. The -PassThru parameter is deprecated, use -Select '^AutoMLJobName' instead. This parameter will be removed in a future version.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ProblemType <ProblemType>
Defines the type of supervised learning problem available for the candidates. For more information, see SageMaker Autopilot problem types.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-RoleArn <String>
The ARN of the role that is used to access the data.
Required?True
Position?Named
Accept pipeline input?True (ByPropertyName)
-SecurityConfig_EnableInterContainerTrafficEncryption <Boolean>
Whether to use traffic encryption between the container layers.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_SecurityConfig_EnableInterContainerTrafficEncryption
-SecurityConfig_VolumeKmsKeyId <String>
The key used to encrypt stored data.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_SecurityConfig_VolumeKmsKeyId
-Select <String>
Use the -Select parameter to control the cmdlet output. The default value is 'AutoMLJobArn'. Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.SageMaker.Model.CreateAutoMLJobResponse). Specifying the name of a property of type Amazon.SageMaker.Model.CreateAutoMLJobResponse will result in that property being returned. Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Tag <Tag[]>
An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web ServicesResources. Tag keys must be unique per resource.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesTags
-VpcConfig_SecurityGroupId <String[]>
The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_SecurityConfig_VpcConfig_SecurityGroupIds
-VpcConfig_Subnet <String[]>
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAutoMLJobConfig_SecurityConfig_VpcConfig_Subnets

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAK
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-EndpointUrl <String>
The endpoint to make the call against.Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-ProfileLocation <String>
Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials.If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAWSProfilesLocation, ProfilesLocation
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesStoredCredentials, AWSProfileName
-Region <Object>
The system name of an AWS region or an AWSRegion instance. This governs the endpoint that will be used when calling service operations. Note that the AWS resources referenced in a call are usually region-specific.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesRegionToCall
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesSK, SecretAccessKey
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesST

Outputs

This cmdlet returns a System.String object. The service call response (type Amazon.SageMaker.Model.CreateAutoMLJobResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack.

Supported Version

AWS Tools for PowerShell: 2.x.y.z