Skip to content

SageMaker v2 SDK breaks when attempting to load BaselineJob from processing job. #1809

@brightsparc

Description

@brightsparc

Describe the bug

Error when attempting to load a baseline job using the classmethod from_processing_name

Returns the error TypeError: super(type, obj): obj must be an instance or subtype of type see full stack below.

To reproduce

A ProcessingJob is able to be loaded from processing name, but when attempting to load a BaseliningJob this fails, also attempt to load by ProcessingJob object also fails.

import sagemaker
from sagemaker.processing import ProcessingJob
from sagemaker.model_monitor import BaseliningJob

sagemaker_session = sagemaker.Session()
processing_job = ProcessingJob.from_processing_name(sagemaker_session, processing_job_name)
print(processing_job.describe()) # This is able to load

BaseliningJob.from_processing_job(processing_job) # This Fails
BaseliningJob.from_processing_name(processing_job_name) # This also Fails

Expected behavior

SageMaker v1.70.10 would successfully load the baseline job, and this is now not supported There doesn't appear to be any changes mentioned for Model Monitor in v2 API.

Screenshots or logs

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-236-4373b7bd24a4> in <module>
      4 
      5 sagemaker_session = sagemaker.Session()
----> 6 baseline_job = BaseliningJob.from_processing_name(sagemaker_session, processing_job_name)
      7 status = baseline_job.describe()['ProcessingJobStatus']
      8 if status != 'Completed':

~/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker/processing.py in from_processing_name(cls, sagemaker_session, processing_job_name)
    685             inputs=inputs,
    686             outputs=outputs,
--> 687             output_kms_key=output_kms_key,
    688         )
    689 

~/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker/model_monitor/model_monitoring.py in __init__(self, sagemaker_session, job_name, inputs, outputs, output_kms_key)
   1815         self.inputs = inputs
   1816         self.outputs = outputs
-> 1817         super(BaseliningJob, self).__init__(
   1818             sagemaker_session=sagemaker_session,
   1819             job_name=job_name,

TypeError: super(type, obj): obj must be an instance or subtype of type

System information
A description of your system. Please provide:

  • SageMaker Python SDK version: 2.0.0
  • Framework name (eg. PyTorch) or algorithm (eg. KMeans):
  • Framework version:
  • Python version:
  • CPU or GPU:
  • Custom Docker image (Y/N):

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions