class Aws::SageMaker::Types::AlgorithmValidationSpecification

Specifies configurations for one or more training jobs that Amazon SageMaker runs to test the algorithm.

@note When making an API call, you may pass AlgorithmValidationSpecification

data as a hash:

    {
      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",
            },
          },
        },
      ],
    }

@!attribute [rw] validation_role

The IAM roles that Amazon SageMaker uses to run the training jobs.
@return [String]

@!attribute [rw] validation_profiles

An array of `AlgorithmValidationProfile` objects, each of which
specifies a training job and batch transform job that Amazon
SageMaker runs to validate your algorithm.
@return [Array<Types::AlgorithmValidationProfile>]

@see docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/AlgorithmValidationSpecification AWS API Documentation

Constants

SENSITIVE