NAME
Paws::SageMaker::CreateAlgorithm - Arguments for method CreateAlgorithm on Paws::SageMaker
DESCRIPTION
This class represents the parameters used for calling the method CreateAlgorithm on the Amazon SageMaker Service service. Use the attributes of this class as arguments to method CreateAlgorithm.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateAlgorithm.
SYNOPSIS
my $api.sagemaker = Paws->service('SageMaker');
my $CreateAlgorithmOutput = $api . sagemaker->CreateAlgorithm(
AlgorithmName => 'MyEntityName',
TrainingSpecification => {
SupportedTrainingInstanceTypes => [
'ml.m4.xlarge',
... # values: ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.p3dn.24xlarge, ml.p4d.24xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.c5n.xlarge, ml.c5n.2xlarge, ml.c5n.4xlarge, ml.c5n.9xlarge, ml.c5n.18xlarge
],
TrainingChannels => [
{
Name => 'MyChannelName', # min: 1, max: 64
SupportedContentTypes => [
'MyContentType', ... # max: 256
],
SupportedInputModes => [
'Pipe', ... # values: Pipe, File
], # min: 1
Description => 'MyEntityDescription', # max: 1024; OPTIONAL
IsRequired => 1, # OPTIONAL
SupportedCompressionTypes => [
'None', ... # values: None, Gzip
], # OPTIONAL
},
...
], # min: 1, max: 8
TrainingImage => 'MyContainerImage', # max: 255
MetricDefinitions => [
{
Name => 'MyMetricName', # min: 1, max: 255
Regex => 'MyMetricRegex', # min: 1, max: 500
},
...
], # max: 40; OPTIONAL
SupportedHyperParameters => [
{
Name => 'MyParameterName', # max: 256
Type =>
'Integer', # values: Integer, Continuous, Categorical, FreeText
DefaultValue => 'MyHyperParameterValue', # max: 2500; OPTIONAL
Description => 'MyEntityDescription', # max: 1024; OPTIONAL
IsRequired => 1, # OPTIONAL
IsTunable => 1, # OPTIONAL
Range => {
CategoricalParameterRangeSpecification => {
Values => [
'MyParameterValue', ... # max: 256
], # min: 1, max: 20
}, # OPTIONAL
ContinuousParameterRangeSpecification => {
MaxValue => 'MyParameterValue', # max: 256
MinValue => 'MyParameterValue', # max: 256
}, # OPTIONAL
IntegerParameterRangeSpecification => {
MaxValue => 'MyParameterValue', # max: 256
MinValue => 'MyParameterValue', # max: 256
}, # OPTIONAL
}, # OPTIONAL
},
...
], # max: 100; OPTIONAL
SupportedTuningJobObjectiveMetrics => [
{
MetricName => 'MyMetricName', # min: 1, max: 255
Type => 'Maximize', # values: Maximize, Minimize
},
...
], # OPTIONAL
SupportsDistributedTraining => 1, # OPTIONAL
TrainingImageDigest => 'MyImageDigest', # max: 72; OPTIONAL
},
AlgorithmDescription => 'MyEntityDescription', # OPTIONAL
CertifyForMarketplace => 1, # OPTIONAL
InferenceSpecification => {
Containers => [
{
Image => 'MyContainerImage', # max: 255
ContainerHostname => 'MyContainerHostname', # max: 63; OPTIONAL
Environment => {
'MyEnvironmentKey' =>
'MyEnvironmentValue', # key: max: 1024, value: max: 1024
}, # max: 16; OPTIONAL
ImageDigest => 'MyImageDigest', # max: 72; OPTIONAL
ModelDataUrl => 'MyUrl', # max: 1024; OPTIONAL
ProductId => 'MyProductId', # max: 256; OPTIONAL
},
...
], # min: 1, max: 5
SupportedContentTypes => [
'MyContentType', ... # max: 256
],
SupportedResponseMIMETypes => [
'MyResponseMIMEType', ... # max: 1024
],
SupportedRealtimeInferenceInstanceTypes => [
'ml.t2.medium',
... # values: ml.t2.medium, ml.t2.large, ml.t2.xlarge, ml.t2.2xlarge, ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.m5d.large, ml.m5d.xlarge, ml.m5d.2xlarge, ml.m5d.4xlarge, ml.m5d.12xlarge, ml.m5d.24xlarge, ml.c4.large, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.c5.large, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.c5d.large, ml.c5d.xlarge, ml.c5d.2xlarge, ml.c5d.4xlarge, ml.c5d.9xlarge, ml.c5d.18xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge, ml.r5.large, ml.r5.xlarge, ml.r5.2xlarge, ml.r5.4xlarge, ml.r5.12xlarge, ml.r5.24xlarge, ml.r5d.large, ml.r5d.xlarge, ml.r5d.2xlarge, ml.r5d.4xlarge, ml.r5d.12xlarge, ml.r5d.24xlarge, ml.inf1.xlarge, ml.inf1.2xlarge, ml.inf1.6xlarge, ml.inf1.24xlarge
], # OPTIONAL
SupportedTransformInstanceTypes => [
'ml.m4.xlarge',
... # values: ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge
], # min: 1; OPTIONAL
}, # OPTIONAL
Tags => [
{
Key => 'MyTagKey', # min: 1, max: 128
Value => 'MyTagValue', # max: 256
},
...
], # OPTIONAL
ValidationSpecification => {
ValidationProfiles => [
{
ProfileName => 'MyEntityName', # min: 1, max: 63
TrainingJobDefinition => {
InputDataConfig => [
{
ChannelName => 'MyChannelName', # min: 1, max: 64
DataSource => {
FileSystemDataSource => {
DirectoryPath => 'MyDirectoryPath', # max: 4096
FileSystemAccessMode => 'rw', # values: rw, ro
FileSystemId => 'MyFileSystemId', # min: 11
FileSystemType => 'EFS', # values: EFS, FSxLustre
}, # OPTIONAL
S3DataSource => {
S3DataType => 'ManifestFile'
, # values: ManifestFile, S3Prefix, AugmentedManifestFile
S3Uri => 'MyS3Uri', # max: 1024
AttributeNames => [
'MyAttributeName', ... # min: 1, max: 256
], # max: 16; OPTIONAL
S3DataDistributionType => 'FullyReplicated'
, # values: FullyReplicated, ShardedByS3Key; OPTIONAL
}, # OPTIONAL
},
CompressionType => 'None', # values: None, Gzip
ContentType => 'MyContentType', # max: 256
InputMode => 'Pipe', # values: Pipe, File
RecordWrapperType =>
'None', # values: None, RecordIO; OPTIONAL
ShuffleConfig => {
Seed => 1,
}, # OPTIONAL
},
...
], # min: 1, max: 20
OutputDataConfig => {
S3OutputPath => 'MyS3Uri', # max: 1024
KmsKeyId => 'MyKmsKeyId', # max: 2048; OPTIONAL
},
ResourceConfig => {
InstanceCount => 1, # min: 1
InstanceType => 'ml.m4.xlarge'
, # values: ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.p3dn.24xlarge, ml.p4d.24xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.c5n.xlarge, ml.c5n.2xlarge, ml.c5n.4xlarge, ml.c5n.9xlarge, ml.c5n.18xlarge
VolumeSizeInGB => 1, # min: 1
VolumeKmsKeyId => 'MyKmsKeyId', # max: 2048; OPTIONAL
},
StoppingCondition => {
MaxRuntimeInSeconds => 1, # min: 1; OPTIONAL
MaxWaitTimeInSeconds => 1, # min: 1; OPTIONAL
},
TrainingInputMode => 'Pipe', # values: Pipe, File
HyperParameters => {
'MyHyperParameterKey' => 'MyHyperParameterValue'
, # key: max: 256, value: max: 2500; OPTIONAL
}, # max: 100; OPTIONAL
},
TransformJobDefinition => {
TransformInput => {
DataSource => {
S3DataSource => {
S3DataType => 'ManifestFile'
, # values: ManifestFile, S3Prefix, AugmentedManifestFile
S3Uri => 'MyS3Uri', # max: 1024
},
},
CompressionType => 'None', # values: None, Gzip
ContentType => 'MyContentType', # max: 256
SplitType =>
'None', # values: None, Line, RecordIO, TFRecord; OPTIONAL
},
TransformOutput => {
S3OutputPath => 'MyS3Uri', # max: 1024
Accept => 'MyAccept', # max: 256; OPTIONAL
AssembleWith => 'None', # values: None, Line; OPTIONAL
KmsKeyId => 'MyKmsKeyId', # max: 2048; OPTIONAL
},
TransformResources => {
InstanceCount => 1, # min: 1
InstanceType => 'ml.m4.xlarge'
, # values: ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge
VolumeKmsKeyId => 'MyKmsKeyId', # max: 2048; OPTIONAL
},
BatchStrategy =>
'MultiRecord', # values: MultiRecord, SingleRecord; OPTIONAL
Environment => {
'MyTransformEnvironmentKey' => 'MyTransformEnvironmentValue'
, # key: max: 1024, value: max: 10240
}, # max: 16; OPTIONAL
MaxConcurrentTransforms => 1, # OPTIONAL
MaxPayloadInMB => 1, # OPTIONAL
}, # OPTIONAL
},
...
], # min: 1, max: 1
ValidationRole => 'MyRoleArn', # min: 20, max: 2048
}, # OPTIONAL
);
# Results:
my $AlgorithmArn = $CreateAlgorithmOutput->AlgorithmArn;
# Returns a L<Paws::SageMaker::CreateAlgorithmOutput> object.
Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/api.sagemaker/CreateAlgorithm
ATTRIBUTES
AlgorithmDescription => Str
A description of the algorithm.
REQUIRED AlgorithmName => Str
The name of the algorithm.
CertifyForMarketplace => Bool
Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace.
InferenceSpecification => Paws::SageMaker::InferenceSpecification
Specifies details about inference jobs that the algorithm runs, including the following:
The Amazon ECR paths of containers that contain the inference code and model artifacts.
The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference.
The input and output content formats that the algorithm supports for inference.
Tags => ArrayRef[Paws::SageMaker::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 Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
REQUIRED TrainingSpecification => Paws::SageMaker::TrainingSpecification
Specifies details about training jobs run by this algorithm, including the following:
The Amazon ECR path of the container and the version digest of the algorithm.
The hyperparameters that the algorithm supports.
The instance types that the algorithm supports for training.
Whether the algorithm supports distributed training.
The metrics that the algorithm emits to Amazon CloudWatch.
Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs.
The input channels that the algorithm supports for training data. For example, an algorithm might support
train
,validation
, andtest
channels.
ValidationSpecification => Paws::SageMaker::AlgorithmValidationSpecification
Specifies configurations for one or more training jobs and that Amazon SageMaker runs to test the algorithm's training code and, optionally, one or more batch transform jobs that Amazon SageMaker runs to test the algorithm's inference code.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateAlgorithm in Paws::SageMaker
BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues