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))
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