You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::SageMaker::Types::CreateAlgorithmInput
- Inherits:
-
Struct
- Object
- Struct
- Aws::SageMaker::Types::CreateAlgorithmInput
- Defined in:
- (unknown)
Overview
When passing CreateAlgorithmInput as input to an Aws::Client method, you can use a vanilla Hash:
{
algorithm_name: "EntityName", # required
algorithm_description: "EntityDescription",
training_specification: { # required
training_image: "ContainerImage", # required
training_image_digest: "ImageDigest",
supported_hyper_parameters: [
{
name: "ParameterName", # required
description: "EntityDescription",
type: "Integer", # required, accepts Integer, Continuous, Categorical, FreeText
range: {
integer_parameter_range_specification: {
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
},
continuous_parameter_range_specification: {
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
},
categorical_parameter_range_specification: {
values: ["ParameterValue"], # required
},
},
is_tunable: false,
is_required: false,
default_value: "HyperParameterValue",
},
],
supported_training_instance_types: ["ml.m4.xlarge"], # required, accepts 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
supports_distributed_training: false,
metric_definitions: [
{
name: "MetricName", # required
regex: "MetricRegex", # required
},
],
training_channels: [ # required
{
name: "ChannelName", # required
description: "EntityDescription",
is_required: false,
supported_content_types: ["ContentType"], # required
supported_compression_types: ["None"], # accepts None, Gzip
supported_input_modes: ["Pipe"], # required, accepts Pipe, File
},
],
supported_tuning_job_objective_metrics: [
{
type: "Maximize", # required, accepts Maximize, Minimize
metric_name: "MetricName", # required
},
],
},
inference_specification: {
containers: [ # required
{
container_hostname: "ContainerHostname",
image: "ContainerImage", # required
image_digest: "ImageDigest",
model_data_url: "Url",
product_id: "ProductId",
},
],
supported_transform_instance_types: ["ml.m4.xlarge"], # required, accepts 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
supported_realtime_inference_instance_types: ["ml.t2.medium"], # required, accepts 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
supported_content_types: ["ContentType"], # required
supported_response_mime_types: ["ResponseMIMEType"], # required
},
validation_specification: {
validation_role: "RoleArn", # required
validation_profiles: [ # required
{
profile_name: "EntityName", # required
training_job_definition: { # required
training_input_mode: "Pipe", # required, accepts Pipe, File
hyper_parameters: {
"HyperParameterKey" => "HyperParameterValue",
},
input_data_config: [ # required
{
channel_name: "ChannelName", # required
data_source: { # required
s3_data_source: {
s3_data_type: "ManifestFile", # required, accepts ManifestFile, S3Prefix, AugmentedManifestFile
s3_uri: "S3Uri", # required
s3_data_distribution_type: "FullyReplicated", # accepts FullyReplicated, ShardedByS3Key
attribute_names: ["AttributeName"],
},
file_system_data_source: {
file_system_id: "FileSystemId", # required
file_system_access_mode: "rw", # required, accepts rw, ro
file_system_type: "EFS", # required, accepts EFS, FSxLustre
directory_path: "DirectoryPath", # required
},
},
content_type: "ContentType",
compression_type: "None", # accepts None, Gzip
record_wrapper_type: "None", # accepts None, RecordIO
input_mode: "Pipe", # accepts Pipe, File
shuffle_config: {
seed: 1, # required
},
},
],
output_data_config: { # required
kms_key_id: "KmsKeyId",
s3_output_path: "S3Uri", # required
},
resource_config: { # required
instance_type: "ml.m4.xlarge", # required, accepts 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
instance_count: 1, # required
volume_size_in_gb: 1, # required
volume_kms_key_id: "KmsKeyId",
},
stopping_condition: { # required
max_runtime_in_seconds: 1,
max_wait_time_in_seconds: 1,
},
},
transform_job_definition: {
max_concurrent_transforms: 1,
max_payload_in_mb: 1,
batch_strategy: "MultiRecord", # accepts MultiRecord, SingleRecord
environment: {
"TransformEnvironmentKey" => "TransformEnvironmentValue",
},
transform_input: { # required
data_source: { # required
s3_data_source: { # required
s3_data_type: "ManifestFile", # required, accepts ManifestFile, S3Prefix, AugmentedManifestFile
s3_uri: "S3Uri", # required
},
},
content_type: "ContentType",
compression_type: "None", # accepts None, Gzip
split_type: "None", # accepts None, Line, RecordIO, TFRecord
},
transform_output: { # required
s3_output_path: "S3Uri", # required
accept: "Accept",
assemble_with: "None", # accepts None, Line
kms_key_id: "KmsKeyId",
},
transform_resources: { # required
instance_type: "ml.m4.xlarge", # required, accepts 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
instance_count: 1, # required
volume_kms_key_id: "KmsKeyId",
},
},
},
],
},
certify_for_marketplace: false,
}
Instance Attribute Summary collapse
-
#algorithm_description ⇒ String
A description of the algorithm.
-
#algorithm_name ⇒ String
The name of the algorithm.
-
#certify_for_marketplace ⇒ Boolean
Whether to certify the algorithm so that it can be listed in AWS Marketplace.
-
#inference_specification ⇒ Types::InferenceSpecification
Specifies details about inference jobs that the algorithm runs, including the following:.
-
#training_specification ⇒ Types::TrainingSpecification
Specifies details about training jobs run by this algorithm, including the following:.
-
#validation_specification ⇒ Types::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.
Instance Attribute Details
#algorithm_description ⇒ String
A description of the algorithm.
#algorithm_name ⇒ String
The name of the algorithm.
#certify_for_marketplace ⇒ Boolean
Whether to certify the algorithm so that it can be listed in AWS Marketplace.
#inference_specification ⇒ Types::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.
#training_specification ⇒ Types::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.
#validation_specification ⇒ Types::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.