Class: Aws::SageMaker::Types::S3ModelDataSource
- Inherits:
-
Struct
- Object
- Struct
- Aws::SageMaker::Types::S3ModelDataSource
- Includes:
- Aws::Structure
- Defined in:
- lib/aws-sdk-sagemaker/types.rb
Overview
Specifies the S3 location of ML model data to deploy.
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#compression_type ⇒ String
Specifies how the ML model data is prepared.
-
#hub_access_config ⇒ Types::InferenceHubAccessConfig
Configuration information for hub access.
-
#manifest_s3_uri ⇒ String
The Amazon S3 URI of the manifest file.
-
#model_access_config ⇒ Types::ModelAccessConfig
Specifies the access configuration file for the ML model.
-
#s3_data_type ⇒ String
Specifies the type of ML model data to deploy.
-
#s3_uri ⇒ String
Specifies the S3 path of ML model data to deploy.
Instance Attribute Details
#compression_type ⇒ String
Specifies how the ML model data is prepared.
If you choose ‘Gzip` and choose `S3Object` as the value of `S3DataType`, `S3Uri` identifies an object that is a gzip-compressed TAR archive. SageMaker will attempt to decompress and untar the object during model deployment.
If you choose ‘None` and chooose `S3Object` as the value of `S3DataType`, `S3Uri` identifies an object that represents an uncompressed ML model to deploy.
If you choose None and choose ‘S3Prefix` as the value of `S3DataType`, `S3Uri` identifies a key name prefix, under which all objects represents the uncompressed ML model to deploy.
If you choose None, then SageMaker will follow rules below when creating model data files under /opt/ml/model directory for use by your inference code:
-
If you choose ‘S3Object` as the value of `S3DataType`, then SageMaker will split the key of the S3 object referenced by `S3Uri` by slash (/), and use the last part as the filename of the file holding the content of the S3 object.
-
If you choose ‘S3Prefix` as the value of `S3DataType`, then for each S3 object under the key name pefix referenced by `S3Uri`, SageMaker will trim its key by the prefix, and use the remainder as the path (relative to `/opt/ml/model`) of the file holding the content of the S3 object. SageMaker will split the remainder by slash (/), using intermediate parts as directory names and the last part as filename of the file holding the content of the S3 object.
-
Do not use any of the following as file names or directory names:
-
An empty or blank string
-
A string which contains null bytes
-
A string longer than 255 bytes
-
A single dot (‘.`)
-
A double dot (‘..`)
-
-
Ambiguous file names will result in model deployment failure. For example, if your uncompressed ML model consists of two S3 objects ‘s3://mybucket/model/weights` and `s3://mybucket/model/weights/part1` and you specify `s3://mybucket/model/` as the value of `S3Uri` and `S3Prefix` as the value of `S3DataType`, then it will result in name clash between `/opt/ml/model/weights` (a regular file) and `/opt/ml/model/weights/` (a directory).
-
Do not organize the model artifacts in [S3 console using folders]. When you create a folder in S3 console, S3 creates a 0-byte object with a key set to the folder name you provide. They key of the 0-byte object ends with a slash (/) which violates SageMaker restrictions on model artifact file names, leading to model deployment failure.
[1]: docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html
40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 40207 class S3ModelDataSource < Struct.new( :s3_uri, :s3_data_type, :compression_type, :model_access_config, :hub_access_config, :manifest_s3_uri) SENSITIVE = [] include Aws::Structure end |
#hub_access_config ⇒ Types::InferenceHubAccessConfig
Configuration information for hub access.
40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 40207 class S3ModelDataSource < Struct.new( :s3_uri, :s3_data_type, :compression_type, :model_access_config, :hub_access_config, :manifest_s3_uri) SENSITIVE = [] include Aws::Structure end |
#manifest_s3_uri ⇒ String
The Amazon S3 URI of the manifest file. The manifest file is a CSV file that stores the artifact locations.
40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 40207 class S3ModelDataSource < Struct.new( :s3_uri, :s3_data_type, :compression_type, :model_access_config, :hub_access_config, :manifest_s3_uri) SENSITIVE = [] include Aws::Structure end |
#model_access_config ⇒ Types::ModelAccessConfig
Specifies the access configuration file for the ML model. You can explicitly accept the model end-user license agreement (EULA) within the ‘ModelAccessConfig`. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.
40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 40207 class S3ModelDataSource < Struct.new( :s3_uri, :s3_data_type, :compression_type, :model_access_config, :hub_access_config, :manifest_s3_uri) SENSITIVE = [] include Aws::Structure end |
#s3_data_type ⇒ String
Specifies the type of ML model data to deploy.
If you choose ‘S3Prefix`, `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix as part of the ML model data to deploy. A valid key name prefix identified by `S3Uri` always ends with a forward slash (/).
If you choose ‘S3Object`, `S3Uri` identifies an object that is the ML model data to deploy.
40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 40207 class S3ModelDataSource < Struct.new( :s3_uri, :s3_data_type, :compression_type, :model_access_config, :hub_access_config, :manifest_s3_uri) SENSITIVE = [] include Aws::Structure end |
#s3_uri ⇒ String
Specifies the S3 path of ML model data to deploy.
40207 40208 40209 40210 40211 40212 40213 40214 40215 40216 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 40207 class S3ModelDataSource < Struct.new( :s3_uri, :s3_data_type, :compression_type, :model_access_config, :hub_access_config, :manifest_s3_uri) SENSITIVE = [] include Aws::Structure end |