Skip to content

Commit 212b3e3

Browse files
author
awstools
committed
feat(client-sagemaker): Amazon SageMaker Autopilot adds support for manually selecting features from the input dataset using the CreateAutoMLJob API.
1 parent 9cb0805 commit 212b3e3

File tree

10 files changed

+266
-147
lines changed

10 files changed

+266
-147
lines changed

clients/client-sagemaker/src/SageMaker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3097,7 +3097,7 @@ export class SageMaker extends SageMakerClient {
30973097
* <p>
30983098
* <code>ModelName</code> - Identifies the model to use. <code>ModelName</code>
30993099
* must be the name of an existing Amazon SageMaker model in the same Amazon Web Services Region and Amazon Web Services
3100-
* account. For information on creating a model, see <a>CreateModel</a>.</p>
3100+
* account. For information on creating a model, see <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html">CreateModel</a>.</p>
31013101
* </li>
31023102
* <li>
31033103
* <p>

clients/client-sagemaker/src/commands/CreateImageCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import {
1212
SerdeContext as __SerdeContext,
1313
} from "@aws-sdk/types";
1414

15-
import { CreateImageRequest, CreateImageResponse } from "../models/models_0";
15+
import { CreateImageRequest } from "../models/models_0";
16+
import { CreateImageResponse } from "../models/models_1";
1617
import {
1718
deserializeAws_json1_1CreateImageCommand,
1819
serializeAws_json1_1CreateImageCommand,

clients/client-sagemaker/src/commands/CreateTransformJobCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export interface CreateTransformJobCommandOutput extends CreateTransformJobRespo
3838
* <p>
3939
* <code>ModelName</code> - Identifies the model to use. <code>ModelName</code>
4040
* must be the name of an existing Amazon SageMaker model in the same Amazon Web Services Region and Amazon Web Services
41-
* account. For information on creating a model, see <a>CreateModel</a>.</p>
41+
* account. For information on creating a model, see <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html">CreateModel</a>.</p>
4242
* </li>
4343
* <li>
4444
* <p>

clients/client-sagemaker/src/commands/ListTagsCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ import {
1212
SerdeContext as __SerdeContext,
1313
} from "@aws-sdk/types";
1414

15-
import { ListTagsInput } from "../models/models_2";
16-
import { ListTagsOutput } from "../models/models_3";
15+
import { ListTagsInput, ListTagsOutput } from "../models/models_3";
1716
import { deserializeAws_json1_1ListTagsCommand, serializeAws_json1_1ListTagsCommand } from "../protocols/Aws_json1_1";
1817
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1918

clients/client-sagemaker/src/models/models_0.ts

Lines changed: 94 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1772,7 +1772,8 @@ export interface TransformOutput {
17721772
* Developer Guide.</i>
17731773
* </p>
17741774
* <p>The KMS key policy must grant permission to the IAM role that you specify in your
1775-
* <a>CreateModel</a> request. For more information, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">Using
1775+
* <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html">CreateModel</a>
1776+
* request. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">Using
17761777
* Key Policies in Amazon Web Services KMS</a> in the <i>Amazon Web Services Key Management Service Developer
17771778
* Guide</i>.</p>
17781779
*/
@@ -4254,7 +4255,12 @@ export interface MetricDatum {
42544255
Set?: MetricSetSource | string;
42554256

42564257
/**
4257-
* <p>The name of the standard metric.</p>
4258+
* <p>The name of the standard metric. </p>
4259+
* <note>
4260+
* <p>For definitions of the standard metrics, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-metrics">
4261+
* <code>Autopilot candidate metrics</code>
4262+
* </a>.</p>
4263+
* </note>
42584264
*/
42594265
StandardMetricName?: AutoMLMetricExtendedEnum | string;
42604266
}
@@ -4477,6 +4483,32 @@ export namespace AutoMLCandidate {
44774483
});
44784484
}
44794485

4486+
/**
4487+
* <p>Stores the config information for how a candidate is generated (optional).</p>
4488+
*/
4489+
export interface AutoMLCandidateGenerationConfig {
4490+
/**
4491+
* <p>A URL to the Amazon S3 data source containing selected features from the input data source to
4492+
* run an Autopilot job (optional). This file should be in json format as shown below: </p>
4493+
* <p>
4494+
* <code>{ "FeatureAttributeNames":["col1", "col2", ...] }</code>.</p>
4495+
* <p>The key name <code>FeatureAttributeNames</code> is fixed. The values listed in
4496+
* <code>["col1", "col2", ...]</code> is case sensitive and should be a list of strings
4497+
* containing unique values that are a subset of the column names in the input data. The list
4498+
* of columns provided must not include the target column.</p>
4499+
*/
4500+
FeatureSpecificationS3Uri?: string;
4501+
}
4502+
4503+
export namespace AutoMLCandidateGenerationConfig {
4504+
/**
4505+
* @internal
4506+
*/
4507+
export const filterSensitiveLog = (obj: AutoMLCandidateGenerationConfig): any => ({
4508+
...obj,
4509+
});
4510+
}
4511+
44804512
export enum AutoMLChannelType {
44814513
TRAINING = "training",
44824514
VALIDATION = "validation",
@@ -4534,9 +4566,9 @@ export namespace AutoMLDataSource {
45344566
}
45354567

45364568
/**
4537-
* <p>A channel is a named input source that training algorithms can consume. The
4538-
* validation dataset size is limited to less than 2 GB. The training dataset size must be
4539-
* less than 100 GB. For more information, see .</p>
4569+
* <p>A channel is a named input source that training algorithms can consume. The validation
4570+
* dataset size is limited to less than 2 GB. The training dataset size must be less than 100
4571+
* GB. For more information, see .</p>
45404572
* <note>
45414573
* <p>A validation dataset must contain the same headers as the training dataset.</p>
45424574
* </note>
@@ -4568,9 +4600,12 @@ export interface AutoMLChannel {
45684600
ContentType?: string;
45694601

45704602
/**
4571-
* <p>The channel type (optional) is an enum string. The default value is
4603+
* <p>The channel type (optional) is an <code>enum</code> string. The default value is
45724604
* <code>training</code>. Channels for training and validation must share the same
4573-
* <code>ContentType</code> and <code>TargetAttributeName</code>.</p>
4605+
* <code>ContentType</code> and <code>TargetAttributeName</code>. For information on
4606+
* specifying training and validation channel types, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-data-sources-training-or-validation">
4607+
* <code>How to specify training and validation datasets</code>
4608+
* </a>.</p>
45744609
*/
45754610
ChannelType?: AutoMLChannelType | string;
45764611
}
@@ -4592,8 +4627,8 @@ export namespace AutoMLChannel {
45924627
export interface AutoMLDataSplitConfig {
45934628
/**
45944629
* <p>The validation fraction (optional) is a float that specifies the portion of the training
4595-
* dataset to be used for validation. The default value is 0.2, and values can range from 0 to
4596-
* 1. We recommend setting this value to be less than 0.5.</p>
4630+
* dataset to be used for validation. The default value is 0.2, and values must be greater
4631+
* than 0 and less than 1. We recommend setting this value to be less than 0.5.</p>
45974632
*/
45984633
ValidationFraction?: number;
45994634
}
@@ -4745,6 +4780,11 @@ export interface AutoMLJobConfig {
47454780
* <p>Type: AutoMLDataSplitConfig</p>
47464781
*/
47474782
DataSplitConfig?: AutoMLDataSplitConfig;
4783+
4784+
/**
4785+
* <p>The configuration for generating a candidate for an AutoML job (optional). </p>
4786+
*/
4787+
CandidateGenerationConfig?: AutoMLCandidateGenerationConfig;
47484788
}
47494789

47504790
export namespace AutoMLJobConfig {
@@ -5480,16 +5520,17 @@ export enum CandidateSortBy {
54805520
}
54815521

54825522
/**
5483-
* <p></p>
5523+
* <p>Configuration specifying how to treat different headers. If no headers are specified SageMaker
5524+
* will by default base64 encode when capturing the data.</p>
54845525
*/
54855526
export interface CaptureContentTypeHeader {
54865527
/**
5487-
* <p></p>
5528+
* <p>The list of all content type headers that SageMaker will treat as CSV and capture accordingly.</p>
54885529
*/
54895530
CsvContentTypes?: string[];
54905531

54915532
/**
5492-
* <p></p>
5533+
* <p>The list of all content type headers that SageMaker will treat as JSON and capture accordingly.</p>
54935534
*/
54945535
JsonContentTypes?: string[];
54955536
}
@@ -5509,11 +5550,11 @@ export enum CaptureMode {
55095550
}
55105551

55115552
/**
5512-
* <p></p>
5553+
* <p>Specifies data Model Monitor will capture.</p>
55135554
*/
55145555
export interface CaptureOption {
55155556
/**
5516-
* <p></p>
5557+
* <p>Specify the boundary of data to capture.</p>
55175558
*/
55185559
CaptureMode: CaptureMode | string | undefined;
55195560
}
@@ -7177,8 +7218,9 @@ export interface CreateAutoMLJobRequest {
71777218

71787219
/**
71797220
* <p>An array of channel objects that describes the input data and its location. Each channel
7180-
* is a named input source. Similar to <code>InputDataConfig</code> supported by . Format(s) supported: CSV. Minimum
7181-
* of 500 rows.</p>
7221+
* is a named input source. Similar to <code>InputDataConfig</code> supported by . Format(s) supported: CSV, Parquet.
7222+
* A minimum of 500 rows is required for the training dataset. There is not a minimum number
7223+
* of rows required for the validation dataset.</p>
71827224
*/
71837225
InputDataConfig: AutoMLChannel[] | undefined;
71847226

@@ -7189,9 +7231,8 @@ export interface CreateAutoMLJobRequest {
71897231
OutputDataConfig: AutoMLOutputDataConfig | undefined;
71907232

71917233
/**
7192-
* <p>Defines the type of supervised learning available for the candidates. Options include:
7193-
* <code>BinaryClassification</code>, <code>MulticlassClassification</code>, and
7194-
* <code>Regression</code>. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-problem-types.html">
7234+
* <p>Defines the type of supervised learning available for the candidates. For more
7235+
* information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-problem-types.html">
71957236
* Amazon SageMaker Autopilot problem types and algorithm support</a>.</p>
71967237
*/
71977238
ProblemType?: ProblemType | string;
@@ -7204,8 +7245,7 @@ export interface CreateAutoMLJobRequest {
72047245
AutoMLJobObjective?: AutoMLJobObjective;
72057246

72067247
/**
7207-
* <p>Contains <code>CompletionCriteria</code> and <code>SecurityConfig</code> settings for
7208-
* the AutoML job.</p>
7248+
* <p>A collection of settings used to configure an AutoML job.</p>
72097249
*/
72107250
AutoMLJobConfig?: AutoMLJobConfig;
72117251

@@ -9503,36 +9543,61 @@ export namespace CreateEndpointOutput {
95039543
}
95049544

95059545
/**
9506-
* <p></p>
9546+
* <p>Configuration to control how SageMaker captures inference data.</p>
95079547
*/
95089548
export interface DataCaptureConfig {
95099549
/**
9510-
* <p></p>
9550+
* <p>Whether data capture should be enabled or disabled (defaults to enabled).</p>
95119551
*/
95129552
EnableCapture?: boolean;
95139553

95149554
/**
9515-
* <p></p>
9555+
* <p>The percentage of requests SageMaker will capture. A lower value is recommended for
9556+
* Endpoints with high traffic.</p>
95169557
*/
95179558
InitialSamplingPercentage: number | undefined;
95189559

95199560
/**
9520-
* <p></p>
9561+
* <p>The Amazon S3 location used to capture the data.</p>
95219562
*/
95229563
DestinationS3Uri: string | undefined;
95239564

95249565
/**
9525-
* <p></p>
9566+
* <p>The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key that SageMaker uses to encrypt data on
9567+
* the storage volume attached to the ML compute instance that hosts the endpoint.</p>
9568+
* <p>The KmsKeyId can be any of the following formats: </p>
9569+
* <ul>
9570+
* <li>
9571+
* <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code>
9572+
* </p>
9573+
* </li>
9574+
* <li>
9575+
* <p>Key ARN:
9576+
* <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code>
9577+
* </p>
9578+
* </li>
9579+
* <li>
9580+
* <p>Alias name: <code>alias/ExampleAlias</code>
9581+
* </p>
9582+
* </li>
9583+
* <li>
9584+
* <p>Alias name ARN:
9585+
* <code>arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias</code>
9586+
* </p>
9587+
* </li>
9588+
* </ul>
95269589
*/
95279590
KmsKeyId?: string;
95289591

95299592
/**
9530-
* <p></p>
9593+
* <p>Specifies data Model Monitor will capture. You can configure whether to
9594+
* collect only input, only output, or both</p>
95319595
*/
95329596
CaptureOptions: CaptureOption[] | undefined;
95339597

95349598
/**
9535-
* <p></p>
9599+
* <p>Configuration specifying how to treat different headers. If no headers are specified SageMaker will
9600+
* by default base64 encode when capturing the data.</p>
95369601
*/
95379602
CaptureContentTypeHeader?: CaptureContentTypeHeader;
95389603
}
@@ -9725,7 +9790,7 @@ export interface CreateEndpointConfigInput {
97259790
ProductionVariants: ProductionVariant[] | undefined;
97269791

97279792
/**
9728-
* <p></p>
9793+
* <p>Configuration to control how SageMaker captures inference data.</p>
97299794
*/
97309795
DataCaptureConfig?: DataCaptureConfig;
97319796

@@ -11926,19 +11991,3 @@ export namespace CreateImageRequest {
1192611991
...obj,
1192711992
});
1192811993
}
11929-
11930-
export interface CreateImageResponse {
11931-
/**
11932-
* <p>The Amazon Resource Name (ARN) of the image.</p>
11933-
*/
11934-
ImageArn?: string;
11935-
}
11936-
11937-
export namespace CreateImageResponse {
11938-
/**
11939-
* @internal
11940-
*/
11941-
export const filterSensitiveLog = (obj: CreateImageResponse): any => ({
11942-
...obj,
11943-
});
11944-
}

0 commit comments

Comments
 (0)