@aws-sdk/client-sagemaker 3.988.0 → 3.990.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist-cjs/index.js +18 -0
  2. package/dist-cjs/schemas/schemas_0.js +313 -273
  3. package/dist-es/models/enums.js +16 -0
  4. package/dist-es/schemas/schemas_0.js +278 -238
  5. package/dist-types/commands/CreateClusterCommand.d.ts +27 -0
  6. package/dist-types/commands/CreateCompilationJobCommand.d.ts +1 -1
  7. package/dist-types/commands/CreateComputeQuotaCommand.d.ts +1 -2
  8. package/dist-types/commands/CreateDataQualityJobDefinitionCommand.d.ts +1 -1
  9. package/dist-types/commands/CreateModelBiasJobDefinitionCommand.d.ts +1 -1
  10. package/dist-types/commands/CreateModelExplainabilityJobDefinitionCommand.d.ts +1 -1
  11. package/dist-types/commands/CreateModelQualityJobDefinitionCommand.d.ts +1 -1
  12. package/dist-types/commands/CreateMonitoringScheduleCommand.d.ts +1 -1
  13. package/dist-types/commands/CreateProcessingJobCommand.d.ts +1 -1
  14. package/dist-types/commands/CreateSpaceCommand.d.ts +1 -1
  15. package/dist-types/commands/CreateTrainingJobCommand.d.ts +2 -2
  16. package/dist-types/commands/DescribeClusterCommand.d.ts +27 -0
  17. package/dist-types/commands/DescribeClusterNodeCommand.d.ts +9 -0
  18. package/dist-types/commands/DescribeDataQualityJobDefinitionCommand.d.ts +1 -1
  19. package/dist-types/commands/DescribeModelBiasJobDefinitionCommand.d.ts +1 -1
  20. package/dist-types/commands/DescribeModelExplainabilityJobDefinitionCommand.d.ts +1 -1
  21. package/dist-types/commands/DescribeModelQualityJobDefinitionCommand.d.ts +1 -1
  22. package/dist-types/commands/DescribeMonitoringScheduleCommand.d.ts +1 -1
  23. package/dist-types/commands/DescribePipelineExecutionCommand.d.ts +2 -1
  24. package/dist-types/commands/DescribeProcessingJobCommand.d.ts +2 -2
  25. package/dist-types/commands/DescribeProjectCommand.d.ts +1 -2
  26. package/dist-types/commands/DescribeTrainingJobCommand.d.ts +2 -2
  27. package/dist-types/commands/ListProcessingJobsCommand.d.ts +2 -1
  28. package/dist-types/commands/ListProjectsCommand.d.ts +1 -1
  29. package/dist-types/commands/SearchCommand.d.ts +5 -5
  30. package/dist-types/commands/UpdateClusterCommand.d.ts +32 -0
  31. package/dist-types/commands/UpdateMonitoringScheduleCommand.d.ts +1 -1
  32. package/dist-types/commands/UpdateTrainingJobCommand.d.ts +1 -1
  33. package/dist-types/models/enums.d.ts +32 -0
  34. package/dist-types/models/models_0.d.ts +124 -145
  35. package/dist-types/models/models_1.d.ts +144 -125
  36. package/dist-types/models/models_2.d.ts +126 -229
  37. package/dist-types/models/models_3.d.ts +230 -156
  38. package/dist-types/models/models_4.d.ts +162 -5
  39. package/dist-types/schemas/schemas_0.d.ts +5 -0
  40. package/dist-types/ts3.4/commands/CreateCompilationJobCommand.d.ts +1 -1
  41. package/dist-types/ts3.4/commands/CreateComputeQuotaCommand.d.ts +4 -2
  42. package/dist-types/ts3.4/commands/CreateSpaceCommand.d.ts +1 -1
  43. package/dist-types/ts3.4/commands/DescribePipelineExecutionCommand.d.ts +2 -4
  44. package/dist-types/ts3.4/commands/DescribeProcessingJobCommand.d.ts +1 -1
  45. package/dist-types/ts3.4/commands/DescribeProjectCommand.d.ts +4 -2
  46. package/dist-types/ts3.4/commands/ListProcessingJobsCommand.d.ts +2 -4
  47. package/dist-types/ts3.4/commands/ListProjectsCommand.d.ts +1 -1
  48. package/dist-types/ts3.4/models/enums.d.ts +20 -0
  49. package/dist-types/ts3.4/models/models_0.d.ts +45 -33
  50. package/dist-types/ts3.4/models/models_1.d.ts +39 -30
  51. package/dist-types/ts3.4/models/models_2.d.ts +39 -60
  52. package/dist-types/ts3.4/models/models_3.d.ts +62 -39
  53. package/dist-types/ts3.4/models/models_4.d.ts +42 -3
  54. package/dist-types/ts3.4/schemas/schemas_0.d.ts +5 -0
  55. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { ActionStatus, ActivationState, ActiveClusterOperationName, AdditionalS3DataSourceDataType, AggregationTransformationValue, AlgorithmStatus, AppInstanceType, AppStatus, AppType, ArtifactSourceIdType, AssemblyType, AssociationEdgeType, AsyncNotificationTopicTypes, AthenaResultCompressionType, AthenaResultFormat, AutoMLAlgorithm, AutoMLChannelType, AutoMLJobObjectiveType, AutoMLJobSecondaryStatus, AutoMLJobStatus, AutoMLMetricEnum, AutoMLMetricExtendedEnum, AutoMLMode, AutoMLProcessingUnit, AutoMLS3DataType, AutotuneMode, BatchAddClusterNodesErrorCode, BatchDeleteClusterNodesErrorCode, BatchRebootClusterNodesErrorCode, BatchReplaceClusterNodesErrorCode, BatchStrategy, CandidateStatus, CandidateStepType, CapacityReservationType, CapacitySizeType, CaptureMode, ClarifyFeatureType, ClarifyTextGranularity, ClarifyTextLanguage, ClusterAutoScalerType, ClusterAutoScalingMode, ClusterAutoScalingStatus, ClusterCapacityType, ClusterConfigMode, ClusterEventResourceType, ClusterInstanceStatus, ClusterInstanceType, ClusterKubernetesTaintEffect, ClusterNodeProvisioningMode, ClusterNodeRecovery, ClusterStatus, CompilationJobStatus, CompleteOnConvergence, CompressionType, ConditionOutcome, ContainerMode, DataSourceName, DeepHealthCheckType, DetailedAlgorithmStatus, FairShare, FeatureStatus, FileSystemAccessMode, FileSystemType, FillingType, Framework, HyperParameterScalingType, HyperParameterTuningJobObjectiveType, IdleResourceSharing, InstanceGroupStatus, LifecycleManagement, MetricSetSource, MIGProfileType, ModelApprovalStatus, ModelCacheSetting, ModelCompressionType, ModelPackageRegistrationType, ModelPackageStatus, NodeUnavailabilityType, ObjectiveStatus, OutputCompressionType, ParameterType, PreemptTeamTasks, ProblemType, ProcessingS3DataDistributionType, ProcessingS3InputMode, ProductionVariantInstanceType, RecordWrapper, RepositoryAccessMode, ResourceSharingStrategy, S3DataDistribution, S3DataType, S3ModelDataType, SchedulerResourceStatus, SoftwareUpdateStatus, SplitType, TargetDevice, TargetPlatformAccelerator, TargetPlatformArch, TargetPlatformOs, TrafficRoutingConfigType, TrainingInputMode, TrainingInstanceType, TrainingRepositoryAccessMode, TransformInstanceType, VolumeAttachmentStatus } from "./enums";
1
+ import { ActionStatus, ActivationState, ActiveClusterOperationName, AdditionalS3DataSourceDataType, AggregationTransformationValue, AlgorithmStatus, AppInstanceType, AppStatus, AppType, ArtifactSourceIdType, AssemblyType, AssociationEdgeType, AsyncNotificationTopicTypes, AthenaResultCompressionType, AthenaResultFormat, AutoMLAlgorithm, AutoMLChannelType, AutoMLJobObjectiveType, AutoMLJobSecondaryStatus, AutoMLJobStatus, AutoMLMetricEnum, AutoMLMetricExtendedEnum, AutoMLMode, AutoMLProcessingUnit, AutoMLS3DataType, AutotuneMode, BatchAddClusterNodesErrorCode, BatchDeleteClusterNodesErrorCode, BatchRebootClusterNodesErrorCode, BatchReplaceClusterNodesErrorCode, BatchStrategy, CandidateStatus, CandidateStepType, CapacityReservationType, CapacitySizeType, CaptureMode, ClarifyFeatureType, ClarifyTextGranularity, ClarifyTextLanguage, ClusterAutoScalerType, ClusterAutoScalingMode, ClusterAutoScalingStatus, ClusterCapacityType, ClusterConfigMode, ClusterEventResourceType, ClusterInstanceStatus, ClusterInstanceType, ClusterKubernetesTaintEffect, ClusterNodeProvisioningMode, ClusterNodeRecovery, ClusterSlurmConfigStrategy, ClusterSlurmNodeType, ClusterStatus, CompilationJobStatus, CompleteOnConvergence, CompressionType, ConditionOutcome, ContainerMode, DataSourceName, DeepHealthCheckType, DetailedAlgorithmStatus, FairShare, FeatureStatus, FileSystemAccessMode, FileSystemType, FillingType, Framework, HyperParameterScalingType, HyperParameterTuningJobObjectiveType, IdleResourceSharing, InstanceGroupStatus, LifecycleManagement, MetricSetSource, MIGProfileType, ModelApprovalStatus, ModelCacheSetting, ModelCompressionType, ModelPackageRegistrationType, ModelPackageStatus, NodeUnavailabilityType, ObjectiveStatus, OutputCompressionType, ParameterType, PreemptTeamTasks, ProblemType, ProcessingS3DataDistributionType, ProcessingS3InputMode, ProductionVariantInstanceType, RecordWrapper, RepositoryAccessMode, ResourceSharingStrategy, S3DataDistribution, S3DataType, S3ModelDataType, SchedulerResourceStatus, SoftwareUpdateStatus, SplitType, TargetDevice, TargetPlatformAccelerator, TargetPlatformArch, TargetPlatformOs, TrafficRoutingConfigType, TrainingInputMode, TrainingInstanceType, TrainingRepositoryAccessMode, TransformInstanceType, VolumeAttachmentStatus } from "./enums";
2
2
  /**
3
3
  * <p>Configuration for allocating accelerator partitions.</p>
4
4
  * @public
@@ -4789,6 +4789,43 @@ export interface ClusterEventSummary {
4789
4789
  */
4790
4790
  Description?: string | undefined;
4791
4791
  }
4792
+ /**
4793
+ * <p>Defines the configuration for attaching an Amazon FSx for Lustre file system to instances in a SageMaker HyperPod cluster instance group.</p>
4794
+ * @public
4795
+ */
4796
+ export interface ClusterFsxLustreConfig {
4797
+ /**
4798
+ * <p>The DNS name of the Amazon FSx for Lustre file system.</p>
4799
+ * @public
4800
+ */
4801
+ DnsName: string | undefined;
4802
+ /**
4803
+ * <p>The mount name of the Amazon FSx for Lustre file system.</p>
4804
+ * @public
4805
+ */
4806
+ MountName: string | undefined;
4807
+ /**
4808
+ * <p>The local path where the Amazon FSx for Lustre file system is mounted on instances.</p>
4809
+ * @public
4810
+ */
4811
+ MountPath?: string | undefined;
4812
+ }
4813
+ /**
4814
+ * <p>Defines the configuration for attaching an Amazon FSx for OpenZFS file system to instances in a SageMaker HyperPod cluster instance group.</p>
4815
+ * @public
4816
+ */
4817
+ export interface ClusterFsxOpenZfsConfig {
4818
+ /**
4819
+ * <p>The DNS name of the Amazon FSx for OpenZFS file system.</p>
4820
+ * @public
4821
+ */
4822
+ DnsName: string | undefined;
4823
+ /**
4824
+ * <p>The local path where the Amazon FSx for OpenZFS file system is mounted on instances.</p>
4825
+ * @public
4826
+ */
4827
+ MountPath?: string | undefined;
4828
+ }
4792
4829
  /**
4793
4830
  * <p>The configurations that SageMaker uses when updating the AMI versions.</p>
4794
4831
  * @public
@@ -4830,7 +4867,7 @@ export interface DeploymentConfiguration {
4830
4867
  * <p>Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. To learn more, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620">SageMaker HyperPod release notes: June 20, 2024</a>.</p>
4831
4868
  * @public
4832
4869
  */
4833
- export type ClusterInstanceStorageConfig = ClusterInstanceStorageConfig.EbsVolumeConfigMember | ClusterInstanceStorageConfig.$UnknownMember;
4870
+ export type ClusterInstanceStorageConfig = ClusterInstanceStorageConfig.EbsVolumeConfigMember | ClusterInstanceStorageConfig.FsxLustreConfigMember | ClusterInstanceStorageConfig.FsxOpenZfsConfigMember | ClusterInstanceStorageConfig.$UnknownMember;
4834
4871
  /**
4835
4872
  * @public
4836
4873
  */
@@ -4841,6 +4878,28 @@ export declare namespace ClusterInstanceStorageConfig {
4841
4878
  */
4842
4879
  interface EbsVolumeConfigMember {
4843
4880
  EbsVolumeConfig: ClusterEbsVolumeConfig;
4881
+ FsxLustreConfig?: never;
4882
+ FsxOpenZfsConfig?: never;
4883
+ $unknown?: never;
4884
+ }
4885
+ /**
4886
+ * <p>Defines the configuration for attaching an Amazon FSx for Lustre file system to the instances in the SageMaker HyperPod cluster instance group.</p>
4887
+ * @public
4888
+ */
4889
+ interface FsxLustreConfigMember {
4890
+ EbsVolumeConfig?: never;
4891
+ FsxLustreConfig: ClusterFsxLustreConfig;
4892
+ FsxOpenZfsConfig?: never;
4893
+ $unknown?: never;
4894
+ }
4895
+ /**
4896
+ * <p>Defines the configuration for attaching an Amazon FSx for OpenZFS file system to the instances in the SageMaker HyperPod cluster instance group.</p>
4897
+ * @public
4898
+ */
4899
+ interface FsxOpenZfsConfigMember {
4900
+ EbsVolumeConfig?: never;
4901
+ FsxLustreConfig?: never;
4902
+ FsxOpenZfsConfig: ClusterFsxOpenZfsConfig;
4844
4903
  $unknown?: never;
4845
4904
  }
4846
4905
  /**
@@ -4848,6 +4907,8 @@ export declare namespace ClusterInstanceStorageConfig {
4848
4907
  */
4849
4908
  interface $UnknownMember {
4850
4909
  EbsVolumeConfig?: never;
4910
+ FsxLustreConfig?: never;
4911
+ FsxOpenZfsConfig?: never;
4851
4912
  $unknown: [string, any];
4852
4913
  }
4853
4914
  /**
@@ -4856,6 +4917,8 @@ export declare namespace ClusterInstanceStorageConfig {
4856
4917
  */
4857
4918
  interface Visitor<T> {
4858
4919
  EbsVolumeConfig: (value: ClusterEbsVolumeConfig) => T;
4920
+ FsxLustreConfig: (value: ClusterFsxLustreConfig) => T;
4921
+ FsxOpenZfsConfig: (value: ClusterFsxOpenZfsConfig) => T;
4859
4922
  _: (name: string, value: any) => T;
4860
4923
  }
4861
4924
  }
@@ -4938,6 +5001,22 @@ export interface ScheduledUpdateConfig {
4938
5001
  */
4939
5002
  DeploymentConfig?: DeploymentConfiguration | undefined;
4940
5003
  }
5004
+ /**
5005
+ * <p>The Slurm configuration details for an instance group in a SageMaker HyperPod cluster.</p>
5006
+ * @public
5007
+ */
5008
+ export interface ClusterSlurmConfigDetails {
5009
+ /**
5010
+ * <p>The type of Slurm node for the instance group. Valid values are <code>Controller</code>, <code>Worker</code>, and <code>Login</code>.</p>
5011
+ * @public
5012
+ */
5013
+ NodeType: ClusterSlurmNodeType | undefined;
5014
+ /**
5015
+ * <p>The list of Slurm partition names that the instance group belongs to.</p>
5016
+ * @public
5017
+ */
5018
+ PartitionNames?: string[] | undefined;
5019
+ }
4941
5020
  /**
4942
5021
  * <p>Details of an instance group in a SageMaker HyperPod cluster.</p>
4943
5022
  * @public
@@ -5058,6 +5137,11 @@ export interface ClusterInstanceGroupDetails {
5058
5137
  * @public
5059
5138
  */
5060
5139
  ActiveSoftwareUpdateConfig?: DeploymentConfiguration | undefined;
5140
+ /**
5141
+ * <p>The Slurm configuration for the instance group.</p>
5142
+ * @public
5143
+ */
5144
+ SlurmConfig?: ClusterSlurmConfigDetails | undefined;
5061
5145
  }
5062
5146
  /**
5063
5147
  * <p>Kubernetes configuration that specifies labels and taints to be applied to cluster nodes in an instance group. </p>
@@ -5075,6 +5159,22 @@ export interface ClusterKubernetesConfig {
5075
5159
  */
5076
5160
  Taints?: ClusterKubernetesTaint[] | undefined;
5077
5161
  }
5162
+ /**
5163
+ * <p>The Slurm configuration for an instance group in a SageMaker HyperPod cluster.</p>
5164
+ * @public
5165
+ */
5166
+ export interface ClusterSlurmConfig {
5167
+ /**
5168
+ * <p>The type of Slurm node for the instance group. Valid values are <code>Controller</code>, <code>Worker</code>, and <code>Login</code>.</p>
5169
+ * @public
5170
+ */
5171
+ NodeType: ClusterSlurmNodeType | undefined;
5172
+ /**
5173
+ * <p>The list of Slurm partition names that the instance group belongs to.</p>
5174
+ * @public
5175
+ */
5176
+ PartitionNames?: string[] | undefined;
5177
+ }
5078
5178
  /**
5079
5179
  * <p>The specifications of an instance group that you need to define.</p>
5080
5180
  * @public
@@ -5150,6 +5250,11 @@ export interface ClusterInstanceGroupSpecification {
5150
5250
  * @public
5151
5251
  */
5152
5252
  KubernetesConfig?: ClusterKubernetesConfig | undefined;
5253
+ /**
5254
+ * <p>Specifies the Slurm configuration for the instance group.</p>
5255
+ * @public
5256
+ */
5257
+ SlurmConfig?: ClusterSlurmConfig | undefined;
5153
5258
  /**
5154
5259
  * <p>Specifies the capacity requirements for the instance group.</p>
5155
5260
  * @public
@@ -5398,6 +5503,17 @@ export interface ClusterOrchestratorEksConfig {
5398
5503
  */
5399
5504
  ClusterArn: string | undefined;
5400
5505
  }
5506
+ /**
5507
+ * <p>The configuration settings for the Slurm orchestrator used with the SageMaker HyperPod cluster.</p>
5508
+ * @public
5509
+ */
5510
+ export interface ClusterOrchestratorSlurmConfig {
5511
+ /**
5512
+ * <p>The strategy for managing partitions for the Slurm configuration. Valid values are <code>Managed</code>, <code>Overwrite</code>, and <code>Merge</code>.</p>
5513
+ * @public
5514
+ */
5515
+ SlurmConfigStrategy?: ClusterSlurmConfigStrategy | undefined;
5516
+ }
5401
5517
  /**
5402
5518
  * <p>The type of orchestrator used for the SageMaker HyperPod cluster.</p>
5403
5519
  * @public
@@ -5408,6 +5524,11 @@ export interface ClusterOrchestrator {
5408
5524
  * @public
5409
5525
  */
5410
5526
  Eks?: ClusterOrchestratorEksConfig | undefined;
5527
+ /**
5528
+ * <p>The Slurm orchestrator configuration for the SageMaker HyperPod cluster.</p>
5529
+ * @public
5530
+ */
5531
+ Slurm?: ClusterOrchestratorSlurmConfig | undefined;
5411
5532
  }
5412
5533
  /**
5413
5534
  * <p>Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.</p>
@@ -6891,7 +7012,7 @@ export interface CreateClusterRequest {
6891
7012
  */
6892
7013
  Tags?: Tag[] | undefined;
6893
7014
  /**
6894
- * <p>The type of orchestrator to use for the SageMaker HyperPod cluster. Currently, the only supported value is <code>"eks"</code>, which is to use an Amazon Elastic Kubernetes Service cluster as the orchestrator.</p>
7015
+ * <p>The type of orchestrator to use for the SageMaker HyperPod cluster. Currently, supported values are <code>"Eks"</code> and <code>"Slurm"</code>, which is to use an Amazon Elastic Kubernetes Service or Slurm cluster as the orchestrator.</p> <note> <p>If you specify the <code>Orchestrator</code> field, you must provide exactly one orchestrator configuration: either <code>Eks</code> or <code>Slurm</code>. Specifying both or providing an empty configuration returns a validation error.</p> </note>
6895
7016
  * @public
6896
7017
  */
6897
7018
  Orchestrator?: ClusterOrchestrator | undefined;
@@ -7090,145 +7211,3 @@ export interface TargetPlatform {
7090
7211
  */
7091
7212
  Accelerator?: TargetPlatformAccelerator | undefined;
7092
7213
  }
7093
- /**
7094
- * <p>Contains information about the output location for the compiled model and the target device that the model runs on. <code>TargetDevice</code> and <code>TargetPlatform</code> are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the <code>TargetDevice</code> list, use <code>TargetPlatform</code> to describe the platform of your edge device and <code>CompilerOptions</code> if there are specific settings that are required or recommended to use for particular TargetPlatform.</p>
7095
- * @public
7096
- */
7097
- export interface OutputConfig {
7098
- /**
7099
- * <p>Identifies the S3 bucket where you want Amazon SageMaker AI to store the model artifacts. For example, <code>s3://bucket-name/key-name-prefix</code>.</p>
7100
- * @public
7101
- */
7102
- S3OutputLocation: string | undefined;
7103
- /**
7104
- * <p>Identifies the target device or the machine learning instance that you want to run your model on after the compilation has completed. Alternatively, you can specify OS, architecture, and accelerator using <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TargetPlatform.html">TargetPlatform</a> fields. It can be used instead of <code>TargetPlatform</code>.</p> <note> <p>Currently <code>ml_trn1</code> is available only in US East (N. Virginia) Region, and <code>ml_inf2</code> is available only in US East (Ohio) Region.</p> </note>
7105
- * @public
7106
- */
7107
- TargetDevice?: TargetDevice | undefined;
7108
- /**
7109
- * <p>Contains information about a target platform that you want your model to run on, such as OS, architecture, and accelerators. It is an alternative of <code>TargetDevice</code>.</p> <p>The following examples show how to configure the <code>TargetPlatform</code> and <code>CompilerOptions</code> JSON strings for popular target platforms: </p> <ul> <li> <p>Raspberry Pi 3 Model B+</p> <p> <code>"TargetPlatform": \{"Os": "LINUX", "Arch": "ARM_EABIHF"\},</code> </p> <p> <code> "CompilerOptions": \{'mattr': ['+neon']\}</code> </p> </li> <li> <p>Jetson TX2</p> <p> <code>"TargetPlatform": \{"Os": "LINUX", "Arch": "ARM64", "Accelerator": "NVIDIA"\},</code> </p> <p> <code> "CompilerOptions": \{'gpu-code': 'sm_62', 'trt-ver': '6.0.1', 'cuda-ver': '10.0'\}</code> </p> </li> <li> <p>EC2 m5.2xlarge instance OS</p> <p> <code>"TargetPlatform": \{"Os": "LINUX", "Arch": "X86_64", "Accelerator": "NVIDIA"\},</code> </p> <p> <code> "CompilerOptions": \{'mcpu': 'skylake-avx512'\}</code> </p> </li> <li> <p>RK3399</p> <p> <code>"TargetPlatform": \{"Os": "LINUX", "Arch": "ARM64", "Accelerator": "MALI"\}</code> </p> </li> <li> <p>ARMv7 phone (CPU)</p> <p> <code>"TargetPlatform": \{"Os": "ANDROID", "Arch": "ARM_EABI"\},</code> </p> <p> <code> "CompilerOptions": \{'ANDROID_PLATFORM': 25, 'mattr': ['+neon']\}</code> </p> </li> <li> <p>ARMv8 phone (CPU)</p> <p> <code>"TargetPlatform": \{"Os": "ANDROID", "Arch": "ARM64"\},</code> </p> <p> <code> "CompilerOptions": \{'ANDROID_PLATFORM': 29\}</code> </p> </li> </ul>
7110
- * @public
7111
- */
7112
- TargetPlatform?: TargetPlatform | undefined;
7113
- /**
7114
- * <p>Specifies additional parameters for compiler options in JSON format. The compiler options are <code>TargetPlatform</code> specific. It is required for NVIDIA accelerators and highly recommended for CPU compilations. For any other cases, it is optional to specify <code>CompilerOptions.</code> </p> <ul> <li> <p> <code>DTYPE</code>: Specifies the data type for the input. When compiling for <code>ml_*</code> (except for <code>ml_inf</code>) instances using PyTorch framework, provide the data type (dtype) of the model's input. <code>"float32"</code> is used if <code>"DTYPE"</code> is not specified. Options for data type are:</p> <ul> <li> <p>float32: Use either <code>"float"</code> or <code>"float32"</code>.</p> </li> <li> <p>int64: Use either <code>"int64"</code> or <code>"long"</code>.</p> </li> </ul> <p> For example, <code>\{"dtype" : "float32"\}</code>.</p> </li> <li> <p> <code>CPU</code>: Compilation for CPU supports the following compiler options.</p> <ul> <li> <p> <code>mcpu</code>: CPU micro-architecture. For example, <code>\{'mcpu': 'skylake-avx512'\}</code> </p> </li> <li> <p> <code>mattr</code>: CPU flags. For example, <code>\{'mattr': ['+neon', '+vfpv4']\}</code> </p> </li> </ul> </li> <li> <p> <code>ARM</code>: Details of ARM CPU compilations.</p> <ul> <li> <p> <code>NEON</code>: NEON is an implementation of the Advanced SIMD extension used in ARMv7 processors.</p> <p>For example, add <code>\{'mattr': ['+neon']\}</code> to the compiler options if compiling for ARM 32-bit platform with the NEON support.</p> </li> </ul> </li> <li> <p> <code>NVIDIA</code>: Compilation for NVIDIA GPU supports the following compiler options.</p> <ul> <li> <p> <code>gpu_code</code>: Specifies the targeted architecture.</p> </li> <li> <p> <code>trt-ver</code>: Specifies the TensorRT versions in x.y.z. format.</p> </li> <li> <p> <code>cuda-ver</code>: Specifies the CUDA version in x.y format.</p> </li> </ul> <p>For example, <code>\{'gpu-code': 'sm_72', 'trt-ver': '6.0.1', 'cuda-ver': '10.1'\}</code> </p> </li> <li> <p> <code>ANDROID</code>: Compilation for the Android OS supports the following compiler options:</p> <ul> <li> <p> <code>ANDROID_PLATFORM</code>: Specifies the Android API levels. Available levels range from 21 to 29. For example, <code>\{'ANDROID_PLATFORM': 28\}</code>.</p> </li> <li> <p> <code>mattr</code>: Add <code>\{'mattr': ['+neon']\}</code> to compiler options if compiling for ARM 32-bit platform with NEON support.</p> </li> </ul> </li> <li> <p> <code>INFERENTIA</code>: Compilation for target ml_inf1 uses compiler options passed in as a JSON string. For example, <code>"CompilerOptions": "\"--verbose 1 --num-neuroncores 2 -O2\""</code>. </p> <p>For information about supported compiler options, see <a href="https://awsdocs-neuron.readthedocs-hosted.com/en/latest/compiler/neuronx-cc/api-reference-guide/neuron-compiler-cli-reference-guide.html"> Neuron Compiler CLI Reference Guide</a>. </p> </li> <li> <p> <code>CoreML</code>: Compilation for the CoreML <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputConfig.html">OutputConfig</a> <code>TargetDevice</code> supports the following compiler options:</p> <ul> <li> <p> <code>class_labels</code>: Specifies the classification labels file name inside input tar.gz file. For example, <code>\{"class_labels": "imagenet_labels_1000.txt"\}</code>. Labels inside the txt file should be separated by newlines.</p> </li> </ul> </li> </ul>
7115
- * @public
7116
- */
7117
- CompilerOptions?: string | undefined;
7118
- /**
7119
- * <p>The Amazon Web Services Key Management Service key (Amazon Web Services KMS) that Amazon SageMaker AI uses to encrypt your output models with Amazon S3 server-side encryption after compilation job. If you don't provide a KMS key ID, Amazon SageMaker AI uses the default KMS key for Amazon S3 for your role's account. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html">KMS-Managed Encryption Keys</a> in the <i>Amazon Simple Storage Service Developer Guide.</i> </p> <p>The KmsKeyId can be any of the following formats: </p> <ul> <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> </li> <li> <p>Key ARN: <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> </li> <li> <p>Alias name: <code>alias/ExampleAlias</code> </p> </li> <li> <p>Alias name ARN: <code>arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias</code> </p> </li> </ul>
7120
- * @public
7121
- */
7122
- KmsKeyId?: string | undefined;
7123
- }
7124
- /**
7125
- * <p>The <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html">VpcConfig</a> configuration object that specifies the VPC that you want the compilation jobs to connect to. For more information on controlling access to your Amazon S3 buckets used for compilation job, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/neo-vpc.html">Give Amazon SageMaker AI Compilation Jobs Access to Resources in Your Amazon VPC</a>.</p>
7126
- * @public
7127
- */
7128
- export interface NeoVpcConfig {
7129
- /**
7130
- * <p>The VPC security group IDs. IDs have the form of <code>sg-xxxxxxxx</code>. Specify the security groups for the VPC that is specified in the <code>Subnets</code> field.</p>
7131
- * @public
7132
- */
7133
- SecurityGroupIds: string[] | undefined;
7134
- /**
7135
- * <p>The ID of the subnets in the VPC that you want to connect the compilation job to for accessing the model in Amazon S3.</p>
7136
- * @public
7137
- */
7138
- Subnets: string[] | undefined;
7139
- }
7140
- /**
7141
- * @public
7142
- */
7143
- export interface CreateCompilationJobRequest {
7144
- /**
7145
- * <p>A name for the model compilation job. The name must be unique within the Amazon Web Services Region and within your Amazon Web Services account. </p>
7146
- * @public
7147
- */
7148
- CompilationJobName: string | undefined;
7149
- /**
7150
- * <p>The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker AI to perform tasks on your behalf. </p> <p>During model compilation, Amazon SageMaker AI needs your permission to:</p> <ul> <li> <p>Read input data from an S3 bucket</p> </li> <li> <p>Write model artifacts to an S3 bucket</p> </li> <li> <p>Write logs to Amazon CloudWatch Logs</p> </li> <li> <p>Publish metrics to Amazon CloudWatch</p> </li> </ul> <p>You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker AI, the caller of this API must have the <code>iam:PassRole</code> permission. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">Amazon SageMaker AI Roles.</a> </p>
7151
- * @public
7152
- */
7153
- RoleArn: string | undefined;
7154
- /**
7155
- * <p>The Amazon Resource Name (ARN) of a versioned model package. Provide either a <code>ModelPackageVersionArn</code> or an <code>InputConfig</code> object in the request syntax. The presence of both objects in the <code>CreateCompilationJob</code> request will return an exception.</p>
7156
- * @public
7157
- */
7158
- ModelPackageVersionArn?: string | undefined;
7159
- /**
7160
- * <p>Provides information about the location of input model artifacts, the name and shape of the expected data inputs, and the framework in which the model was trained.</p>
7161
- * @public
7162
- */
7163
- InputConfig?: InputConfig | undefined;
7164
- /**
7165
- * <p>Provides information about the output location for the compiled model and the target device the model runs on.</p>
7166
- * @public
7167
- */
7168
- OutputConfig: OutputConfig | undefined;
7169
- /**
7170
- * <p>A <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html">VpcConfig</a> object that specifies the VPC that you want your compilation job to connect to. Control access to your models by configuring the VPC. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/neo-vpc.html">Protect Compilation Jobs by Using an Amazon Virtual Private Cloud</a>.</p>
7171
- * @public
7172
- */
7173
- VpcConfig?: NeoVpcConfig | undefined;
7174
- /**
7175
- * <p>Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker AI ends the compilation job. Use this API to cap model training costs.</p>
7176
- * @public
7177
- */
7178
- StoppingCondition: StoppingCondition | undefined;
7179
- /**
7180
- * <p>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 <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services Resources</a>.</p>
7181
- * @public
7182
- */
7183
- Tags?: Tag[] | undefined;
7184
- }
7185
- /**
7186
- * @public
7187
- */
7188
- export interface CreateCompilationJobResponse {
7189
- /**
7190
- * <p>If the action is successful, the service sends back an HTTP 200 response. Amazon SageMaker AI returns the following data in JSON format:</p> <ul> <li> <p> <code>CompilationJobArn</code>: The Amazon Resource Name (ARN) of the compiled job.</p> </li> </ul>
7191
- * @public
7192
- */
7193
- CompilationJobArn: string | undefined;
7194
- }
7195
- /**
7196
- * @public
7197
- */
7198
- export interface CreateComputeQuotaRequest {
7199
- /**
7200
- * <p>Name to the compute allocation definition.</p>
7201
- * @public
7202
- */
7203
- Name: string | undefined;
7204
- /**
7205
- * <p>Description of the compute allocation definition.</p>
7206
- * @public
7207
- */
7208
- Description?: string | undefined;
7209
- /**
7210
- * <p>ARN of the cluster.</p>
7211
- * @public
7212
- */
7213
- ClusterArn: string | undefined;
7214
- /**
7215
- * <p>Configuration of the compute allocation definition. This includes the resource sharing option, and the setting to preempt low priority tasks.</p>
7216
- * @public
7217
- */
7218
- ComputeQuotaConfig: ComputeQuotaConfig | undefined;
7219
- /**
7220
- * <p>The target entity to allocate compute resources to.</p>
7221
- * @public
7222
- */
7223
- ComputeQuotaTarget: ComputeQuotaTarget | undefined;
7224
- /**
7225
- * <p>The state of the compute allocation being described. Use to enable or disable compute allocation.</p> <p>Default is <code>Enabled</code>.</p>
7226
- * @public
7227
- */
7228
- ActivationState?: ActivationState | undefined;
7229
- /**
7230
- * <p>Tags of the compute allocation definition.</p>
7231
- * @public
7232
- */
7233
- Tags?: Tag[] | undefined;
7234
- }