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