예제 #1
0
    def _upload_code(self, key_prefix, repack=False):
        local_code = utils.get_config_value("local.local_code",
                                            self.sagemaker_session.config)
        if self.sagemaker_session.local_mode and local_code:
            self.uploaded_code = None
        elif not repack:
            bucket = self.bucket or self.sagemaker_session.default_bucket()
            self.uploaded_code = fw_utils.tar_and_upload_dir(
                session=self.sagemaker_session.boto_session,
                bucket=bucket,
                s3_key_prefix=key_prefix,
                script=self.entry_point,
                directory=self.source_dir,
                dependencies=self.dependencies,
            )

        if repack:
            bucket = self.bucket or self.sagemaker_session.default_bucket()
            repacked_model_data = "s3://" + os.path.join(
                bucket, key_prefix, "model.tar.gz")

            utils.repack_model(
                inference_script=self.entry_point,
                source_directory=self.source_dir,
                dependencies=self.dependencies,
                model_uri=self.model_data,
                repacked_model_uri=repacked_model_data,
                sagemaker_session=self.sagemaker_session,
            )

            self.repacked_model_data = repacked_model_data
            self.uploaded_code = UploadedCode(
                s3_prefix=self.repacked_model_data,
                script_name=os.path.basename(self.entry_point))
예제 #2
0
    def package_artifacts(self):

        self.model_name = self.get_model_name()

        cache_bucket_uri = f"s3://{get_test_artifact_bucket()}"
        repacked_model_uri = "/".join([
            cache_bucket_uri,
            self.test_suite_id,
            "inference_model_tarballs",
            self.model_name,
            "repacked_model.tar.gz",
        ])

        repack_model(
            inference_script="inference.py",
            source_directory=self.script_uri,
            dependencies=None,
            model_uri=self.model_uri,
            repacked_model_uri=repacked_model_uri,
            sagemaker_session=get_sm_session(),
            kms_key=None,
        )

        return repacked_model_uri