def download_model_output()

in autogluon/tabular-prediction/AutoGluon-Tabular-with-SageMaker/utils/ag_utils.py [0:0]


def download_model_output(Job_name, job_desc, is_debug):
        
    # download the s3 file into local temp directory and extract it
    s3 = boto3.client('s3')

    job_output_s3_uri = job_desc['ModelArtifacts']['S3ModelArtifacts']

    tmp_dir = f'./tmp/{Job_name}'
    if not os.path.exists(tmp_dir):
        os.makedirs(tmp_dir)

    def is_output_file_exists(s3_bucket, s3_prefix):
        try:
            results = s3.head_object(Bucket=s3_bucket, Key=s3_prefix)
            return True
        except:
            return False

    s3_bucket, s3_key = split_s3_path(job_output_s3_uri)
    s3_key_output = s3_key.replace('model.tar.gz', 'output.tar.gz')
        
    if is_output_file_exists(s3_bucket, s3_key_output):
        s3_key = s3_key_output
    else:
        return False

    local_tar_fname = os.path.join(tmp_dir, 'output.tar.gz')

    s3.download_file(s3_bucket, s3_key, local_tar_fname)

    tar = tarfile.open(local_tar_fname)
    if is_debug is True:
        show_in_html('Files found in output.tar.gz', '#000099') 
        for member in tar.getmembers():
            fname = member.name
            print(fname)
        
    tar.extractall(path=tmp_dir)
    
    return True