class Aws::SageMaker::Types::CreateAlgorithmInput
@note When making an API call, you may pass CreateAlgorithmInput
data as a 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", environment: { "EnvironmentKey" => "EnvironmentValue", }, }, ], supported_transform_instance_types: ["ml.m4.xlarge"], # 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, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge supported_realtime_inference_instance_types: ["ml.t2.medium"], # 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, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge instance_count: 1, # required volume_kms_key_id: "KmsKeyId", }, }, }, ], }, certify_for_marketplace: false, tags: [ { key: "TagKey", # required value: "TagValue", # required }, ], }
@!attribute [rw] algorithm_name
The name of the algorithm. @return [String]
@!attribute [rw] algorithm_description
A description of the algorithm. @return [String]
@!attribute [rw] training_specification
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`, and `test` channels. @return [Types::TrainingSpecification]
@!attribute [rw] inference_specification
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. @return [Types::InferenceSpecification]
@!attribute [rw] validation_specification
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. @return [Types::AlgorithmValidationSpecification]
@!attribute [rw] certify_for_marketplace
Whether to certify the algorithm so that it can be listed in Amazon Web Services Marketplace. @return [Boolean]
@!attribute [rw] tags
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][1]. [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html @return [Array<Types::Tag>]
@see docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateAlgorithmInput AWS API Documentation
Constants
- SENSITIVE