class_docstr: Uploader class that handles uploading data to S3 and display progress bar
class_docstr_tok: ["Uploader","class","that","handles","uploading","data","to","S3","and","display","progress","bar"]
docstr: Upload uncompressed model artifacts to S3
docstr_tok: ["Upload","uncompressed","model","artifacts","to","S3"]
code: def upload_uncompressed(
      self,
      model_dir: str,
      sagemaker_session: Session,
      bucket: str,
      key_prefix: str,
      total_size: int,
  ):
      """Upload uncompressed model artifacts to S3"""
      self.total_left = total_size
      with tqdm.tqdm(
          total=total_size,
          desc="Uploading model artifacts",
          unit="bytes",
          ncols=100,
      ) as self.pbar:
          S3Uploader.upload(
              local_path=model_dir,
              desired_s3_uri=s3_path_join("s3://", bucket, key_prefix),
              sagemaker_session=sagemaker_session,
              callback=self.observe,
          )
          self.pbar.update(self.total_left)
  
file_path: sagemaker-python-sdk/src/sagemaker/serve/utils/uploader.py
imports: from __future__ import absolute_import
  import logging
  import os
  import tempfile
  import botocore
  import boto3
  import tqdm
  from sagemaker.session import Session
  from sagemaker.s3_utils import s3_path_join
  from sagemaker.s3 import S3Uploader
  from sagemaker.utils import create_tar_file
label_desc: Use image node_id 4 for calling the Uploader obj's underlying member method code with example usage: obj.upload_uncompressed(model_dir, sagemaker_session, bucket, key_prefix, total_size) without return types