Skip to content

Commit 7d06c5c

Browse files
author
Keshav Chandak
committed
Feat: SkipModelValidation in modelRegistry
1 parent 644e0d4 commit 7d06c5c

File tree

17 files changed

+85
-0
lines changed

17 files changed

+85
-0
lines changed

src/sagemaker/chainer/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ def register(
169169
framework_version: Optional[Union[str, PipelineVariable]] = None,
170170
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
171171
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
172+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
172173
):
173174
"""Creates a model package for creating SageMaker models or listing on Marketplace.
174175
@@ -216,6 +217,8 @@ def register(
216217
benchmarked by Amazon SageMaker Inference Recommender (default: None).
217218
data_input_configuration (str or PipelineVariable): Input object for the model
218219
(default: None).
220+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
221+
validation. Values can be "All" or "None" (default: None).
219222
220223
Returns:
221224
str: A string of SageMaker Model Package ARN.
@@ -254,6 +257,7 @@ def register(
254257
framework_version=framework_version or self.framework_version,
255258
nearest_model_name=nearest_model_name,
256259
data_input_configuration=data_input_configuration,
260+
skip_model_validation=skip_model_validation,
257261
)
258262

259263
def prepare_container_def(

src/sagemaker/estimator.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1684,6 +1684,7 @@ def register(
16841684
framework_version=None,
16851685
nearest_model_name=None,
16861686
data_input_configuration=None,
1687+
skip_model_validation=None,
16871688
**kwargs,
16881689
):
16891690
"""Creates a model package for creating SageMaker models or listing on Marketplace.
@@ -1729,6 +1730,8 @@ def register(
17291730
nearest_model_name (str): Name of a pre-trained machine learning benchmarked by
17301731
Amazon SageMaker Inference Recommender (default: None).
17311732
data_input_configuration (str): Input object for the model (default: None).
1733+
skip_model_validation (str): Indicates if you want to skip model validation.
1734+
Values can be "All" or "None" (default: None).
17321735
**kwargs: Passed to invocation of ``create_model()``. Implementations may customize
17331736
``create_model()`` to accept ``**kwargs`` to customize model creation during
17341737
deploy. For more, see the implementation docs.
@@ -1772,6 +1775,7 @@ def register(
17721775
framework_version=framework_version,
17731776
nearest_model_name=nearest_model_name,
17741777
data_input_configuration=data_input_configuration,
1778+
skip_model_validation=skip_model_validation,
17751779
)
17761780

17771781
@property

src/sagemaker/huggingface/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,7 @@ def register(
353353
framework_version: Optional[Union[str, PipelineVariable]] = None,
354354
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
355355
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
356+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
356357
):
357358
"""Creates a model package for creating SageMaker models or listing on Marketplace.
358359
@@ -401,6 +402,8 @@ def register(
401402
benchmarked by Amazon SageMaker Inference Recommender (default: None).
402403
data_input_configuration (str or PipelineVariable): Input object for the model
403404
(default: None).
405+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
406+
validation. Values can be "All" or "None" (default: None).
404407
405408
Returns:
406409
A `sagemaker.model.ModelPackage` instance.
@@ -447,6 +450,7 @@ def register(
447450
],
448451
nearest_model_name=nearest_model_name,
449452
data_input_configuration=data_input_configuration,
453+
skip_model_validation=skip_model_validation,
450454
)
451455

452456
def prepare_container_def(

src/sagemaker/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ def register(
400400
framework_version: Optional[Union[str, PipelineVariable]] = None,
401401
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
402402
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
403+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
403404
):
404405
"""Creates a model package for creating SageMaker models or listing on Marketplace.
405406
@@ -447,6 +448,8 @@ def register(
447448
benchmarked by Amazon SageMaker Inference Recommender (default: None).
448449
data_input_configuration (str or PipelineVariable): Input object for the model
449450
(default: None).
451+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
452+
validation. Values can be "All" or "None" (default: None).
450453
451454
Returns:
452455
A `sagemaker.model.ModelPackage` instance or pipeline step arguments
@@ -497,6 +500,7 @@ def register(
497500
domain=domain,
498501
sample_payload_url=sample_payload_url,
499502
task=task,
503+
skip_model_validation=skip_model_validation,
500504
)
501505
model_package = self.sagemaker_session.create_model_package_from_containers(
502506
**model_pkg_args

src/sagemaker/mxnet/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ def register(
171171
framework_version: Optional[Union[str, PipelineVariable]] = None,
172172
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
173173
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
174+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
174175
):
175176
"""Creates a model package for creating SageMaker models or listing on Marketplace.
176177
@@ -218,6 +219,8 @@ def register(
218219
benchmarked by Amazon SageMaker Inference Recommender (default: None).
219220
data_input_configuration (str or PipelineVariable): Input object for the model
220221
(default: None).
222+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
223+
validation. Values can be "All" or "None" (default: None).
221224
222225
Returns:
223226
A `sagemaker.model.ModelPackage` instance.
@@ -256,6 +259,7 @@ def register(
256259
framework_version=framework_version or self.framework_version,
257260
nearest_model_name=nearest_model_name,
258261
data_input_configuration=data_input_configuration,
262+
skip_model_validation=skip_model_validation,
259263
)
260264

261265
def prepare_container_def(

src/sagemaker/pipeline.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ def register(
356356
framework_version: Optional[Union[str, PipelineVariable]] = None,
357357
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
358358
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
359+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
359360
):
360361
"""Creates a model package for creating SageMaker models or listing on Marketplace.
361362
@@ -403,6 +404,8 @@ def register(
403404
benchmarked by Amazon SageMaker Inference Recommender (default: None).
404405
data_input_configuration (str or PipelineVariable): Input object for the model
405406
(default: None).
407+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
408+
validation. Values can be "All" or "None" (default: None).
406409
407410
Returns:
408411
A `sagemaker.model.ModelPackage` instance.
@@ -448,6 +451,7 @@ def register(
448451
domain=domain,
449452
sample_payload_url=sample_payload_url,
450453
task=task,
454+
skip_model_validation=skip_model_validation,
451455
)
452456

453457
self.sagemaker_session.create_model_package_from_containers(**model_pkg_args)

src/sagemaker/pytorch/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ def register(
173173
framework_version: Optional[Union[str, PipelineVariable]] = None,
174174
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
175175
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
176+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
176177
):
177178
"""Creates a model package for creating SageMaker models or listing on Marketplace.
178179
@@ -220,6 +221,8 @@ def register(
220221
benchmarked by Amazon SageMaker Inference Recommender (default: None).
221222
data_input_configuration (str or PipelineVariable): Input object for the model
222223
(default: None).
224+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
225+
validation. Values can be "All" or "None" (default: None).
223226
224227
Returns:
225228
A `sagemaker.model.ModelPackage` instance.
@@ -258,6 +261,7 @@ def register(
258261
framework_version=framework_version or self.framework_version,
259262
nearest_model_name=nearest_model_name,
260263
data_input_configuration=data_input_configuration,
264+
skip_model_validation=skip_model_validation,
261265
)
262266

263267
def prepare_container_def(

src/sagemaker/session.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3648,6 +3648,7 @@ def create_model_package_from_containers(
36483648
domain=None,
36493649
sample_payload_url=None,
36503650
task=None,
3651+
skip_model_validation="None",
36513652
):
36523653
"""Get request dictionary for CreateModelPackage API.
36533654
@@ -3682,6 +3683,8 @@ def create_model_package_from_containers(
36823683
task (str): Task values which are supported by Inference Recommender are "FILL_MASK",
36833684
"IMAGE_CLASSIFICATION", "OBJECT_DETECTION", "TEXT_GENERATION", "IMAGE_SEGMENTATION",
36843685
"CLASSIFICATION", "REGRESSION", "OTHER" (default: None).
3686+
skip_model_validation (str): Indicates if you want to skip model validation.
3687+
Values can be "All" or "None" (default: None).
36853688
"""
36863689
if containers:
36873690
# Containers are provided. Now we can merge missing entries from config.
@@ -3737,6 +3740,7 @@ def create_model_package_from_containers(
37373740
domain=domain,
37383741
sample_payload_url=sample_payload_url,
37393742
task=task,
3743+
skip_model_validation=skip_model_validation,
37403744
)
37413745

37423746
def submit(request):
@@ -5764,6 +5768,7 @@ def get_model_package_args(
57645768
domain=None,
57655769
sample_payload_url=None,
57665770
task=None,
5771+
skip_model_validation=None,
57675772
):
57685773
"""Get arguments for create_model_package method.
57695774
@@ -5800,6 +5805,8 @@ def get_model_package_args(
58005805
task (str): Task values which are supported by Inference Recommender are "FILL_MASK",
58015806
"IMAGE_CLASSIFICATION", "OBJECT_DETECTION", "TEXT_GENERATION", "IMAGE_SEGMENTATION",
58025807
"CLASSIFICATION", "REGRESSION", "OTHER" (default: None).
5808+
skip_model_validation (str): Indicates if you want to skip model validation.
5809+
Values can be "All" or "None" (default: None).
58035810
58045811
Returns:
58055812
dict: A dictionary of method argument names and values.
@@ -5848,6 +5855,8 @@ def get_model_package_args(
58485855
model_package_args["sample_payload_url"] = sample_payload_url
58495856
if task is not None:
58505857
model_package_args["task"] = task
5858+
if skip_model_validation is not None:
5859+
model_package_args["skip_model_validation"] = skip_model_validation
58515860
return model_package_args
58525861

58535862

@@ -5871,6 +5880,7 @@ def get_create_model_package_request(
58715880
domain=None,
58725881
sample_payload_url=None,
58735882
task=None,
5883+
skip_model_validation="None",
58745884
):
58755885
"""Get request dictionary for CreateModelPackage API.
58765886
@@ -5905,6 +5915,8 @@ def get_create_model_package_request(
59055915
task (str): Task values which are supported by Inference Recommender are "FILL_MASK",
59065916
"IMAGE_CLASSIFICATION", "OBJECT_DETECTION", "TEXT_GENERATION", "IMAGE_SEGMENTATION",
59075917
"CLASSIFICATION", "REGRESSION", "OTHER" (default: None).
5918+
skip_model_validation (str): Indicates if you want to skip model validation.
5919+
Values can be "All" or "None" (default: None).
59085920
"""
59095921

59105922
if all([model_package_name, model_package_group_name]):
@@ -5974,6 +5986,7 @@ def get_create_model_package_request(
59745986
request_dict["InferenceSpecification"] = inference_specification
59755987
request_dict["CertifyForMarketplace"] = marketplace_cert
59765988
request_dict["ModelApprovalStatus"] = approval_status
5989+
request_dict["SkipModelValidation"] = skip_model_validation
59775990
return request_dict
59785991

59795992

src/sagemaker/sklearn/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ def register(
166166
framework_version: Optional[Union[str, PipelineVariable]] = None,
167167
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
168168
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
169+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
169170
):
170171
"""Creates a model package for creating SageMaker models or listing on Marketplace.
171172
@@ -213,6 +214,8 @@ def register(
213214
benchmarked by Amazon SageMaker Inference Recommender (default: None).
214215
data_input_configuration (str or PipelineVariable): Input object for the model
215216
(default: None).
217+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
218+
validation. Values can be "All" or "None" (default: None).
216219
217220
Returns:
218221
A `sagemaker.model.ModelPackage` instance.
@@ -251,6 +254,7 @@ def register(
251254
framework_version=framework_version,
252255
nearest_model_name=nearest_model_name,
253256
data_input_configuration=data_input_configuration,
257+
skip_model_validation=skip_model_validation,
254258
)
255259

256260
def prepare_container_def(

src/sagemaker/tensorflow/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ def register(
228228
framework_version: Optional[Union[str, PipelineVariable]] = None,
229229
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
230230
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
231+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
231232
):
232233
"""Creates a model package for creating SageMaker models or listing on Marketplace.
233234
@@ -275,6 +276,8 @@ def register(
275276
benchmarked by Amazon SageMaker Inference Recommender (default: None).
276277
data_input_configuration (str or PipelineVariable): Input object for the model
277278
(default: None).
279+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
280+
validation. Values can be "All" or "None" (default: None).
278281
279282
Returns:
280283
A `sagemaker.model.ModelPackage` instance.
@@ -313,6 +316,7 @@ def register(
313316
framework_version=framework_version or self.framework_version,
314317
nearest_model_name=nearest_model_name,
315318
data_input_configuration=data_input_configuration,
319+
skip_model_validation=skip_model_validation,
316320
)
317321

318322
def deploy(

src/sagemaker/workflow/_utils.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ def __init__(
322322
domain=None,
323323
sample_payload_url=None,
324324
task=None,
325+
skip_model_validation=None,
325326
**kwargs,
326327
):
327328
"""Constructor of a register model step.
@@ -371,6 +372,8 @@ def __init__(
371372
task (str): Task values which are supported by Inference Recommender are "FILL_MASK",
372373
"IMAGE_CLASSIFICATION", "OBJECT_DETECTION", "TEXT_GENERATION", "IMAGE_SEGMENTATION",
373374
"CLASSIFICATION", "REGRESSION", "OTHER" (default: None).
375+
skip_model_validation (str): Indicates if you want to skip model validation.
376+
Values can be "All" or "None" (default: None).
374377
**kwargs: additional arguments to `create_model`.
375378
"""
376379
super(_RegisterModelStep, self).__init__(
@@ -407,6 +410,7 @@ def __init__(
407410
self.tags = tags
408411
self.kwargs = kwargs
409412
self.container_def_list = container_def_list
413+
self.skip_model_validation = skip_model_validation
410414

411415
self._properties = Properties(step_name=name, shape_name="DescribeModelPackageOutput")
412416

@@ -481,6 +485,7 @@ def arguments(self) -> RequestType:
481485
domain=self.domain,
482486
sample_payload_url=self.sample_payload_url,
483487
task=self.task,
488+
skip_model_validation=self.skip_model_validation,
484489
)
485490

486491
request_dict = get_create_model_package_request(**model_package_args)

src/sagemaker/workflow/step_collections.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def __init__(
9090
framework_version=None,
9191
nearest_model_name=None,
9292
data_input_configuration=None,
93+
skip_model_validation=None,
9394
**kwargs,
9495
):
9596
"""Construct steps `_RepackModelStep` and `_RegisterModelStep` based on the estimator.
@@ -145,6 +146,8 @@ def __init__(
145146
nearest_model_name (str): Name of a pre-trained machine learning benchmarked by
146147
Amazon SageMaker Inference Recommender (default: None).
147148
data_input_configuration (str): Input object for the model (default: None).
149+
skip_model_validation (str): Indicates if you want to skip model
150+
validation. Values can be "All" or "None" (default: None).
148151
149152
**kwargs: additional arguments to `create_model`.
150153
"""
@@ -281,6 +284,7 @@ def __init__(
281284
domain=domain,
282285
sample_payload_url=sample_payload_url,
283286
task=task,
287+
skip_model_validation=skip_model_validation,
284288
**kwargs,
285289
)
286290
if not repack_model:

src/sagemaker/xgboost/model.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ def register(
154154
framework_version: Optional[Union[str, PipelineVariable]] = None,
155155
nearest_model_name: Optional[Union[str, PipelineVariable]] = None,
156156
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
157+
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
157158
):
158159
"""Creates a model package for creating SageMaker models or listing on Marketplace.
159160
@@ -201,6 +202,8 @@ def register(
201202
benchmarked by Amazon SageMaker Inference Recommender (default: None).
202203
data_input_configuration (str or PipelineVariable): Input object for the model
203204
(default: None).
205+
skip_model_validation (str or PipelineVariable): Indicates if you want to skip model
206+
validation. Values can be "All" or "None" (default: None).
204207
205208
Returns:
206209
str: A string of SageMaker Model Package ARN.
@@ -239,6 +242,7 @@ def register(
239242
framework_version=framework_version,
240243
nearest_model_name=nearest_model_name,
241244
data_input_configuration=data_input_configuration,
245+
skip_model_validation=skip_model_validation,
242246
)
243247

244248
def prepare_container_def(

0 commit comments

Comments
 (0)