|
NAMEPaws::SageMaker::CreateAlgorithm - Arguments for method CreateAlgorithm on Paws::SageMaker DESCRIPTIONThis 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> ATTRIBUTESAlgorithmDescription => StrA description of the algorithm. REQUIRED AlgorithmName => StrThe name of the algorithm. CertifyForMarketplace => BoolWhether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. InferenceSpecification => Paws::SageMaker::InferenceSpecificationSpecifies details about inference jobs that the algorithm runs, including the following:
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::TrainingSpecificationSpecifies details about training jobs run by this algorithm, including the following:
ValidationSpecification => Paws::SageMaker::AlgorithmValidationSpecificationSpecifies 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 ALSOThis class forms part of Paws, documenting arguments for method CreateAlgorithm in Paws::SageMaker BUGS and CONTRIBUTIONSThe source code is located here: <https://github.com/pplu/aws-sdk-perl> Please report bugs to: <https://github.com/pplu/aws-sdk-perl/issues>
|