def update_leaderboard(self, score, scoreText="Score", ascending=False, leaderboard_indicator = ".leaderboard.data.donot.remove\n",): pr_number = self.comment.pr.number pr_sender = self.comment.pr.user.login entry = "#" + str(pr_number) + " by " + str(pr_sender) leaderboard_content = None comment_pr1 = Comment(pr_number=1) values = comment_pr1.get_comment(leaderboard_indicator) if comment_pr1 is None or len(values) is 0: leaderboard_content = scoreText + ", Entity" else: leaderboard_content = values[0] # Delete the csv comment comment_pr1.del_comment(leaderboard_indicator) df = pd.read_csv(StringIO(leaderboard_content)) df.loc[len(df.index)] = [score, entry] df = df.sort_values(by=df.columns[0], ascending=ascending) new_leaderbord_content = df.to_csv(index=False) comment_pr1.add_comment(leaderboard_indicator + new_leaderbord_content) # Add new leaderboard results as a comment leaderboard_md = "## New Leaderboard\n" + df.to_markdown() self.comment.add_comment(leaderboard_md)
class ResultReport(): def __init__(self): self.comment = Comment() def report(self, model_data, metrics_df): model_data_report = "model_data=" + model_data self.comment.add_comment(model_data_report) result_md = "## Results\n"+ metrics_df.to_markdown() self.comment.add_comment(result_md) # FIXME: Where to store the leaderboard def update_leaderboard(self, score, scoreText="Score", ascending=False, leaderboard_indicator = ".leaderboard.data.donot.remove\n",): pr_number = self.comment.pr.number pr_sender = self.comment.pr.user.login entry = "#" + str(pr_number) + " by " + str(pr_sender) leaderboard_content = None comment_pr1 = Comment(pr_number=1) values = comment_pr1.get_comment(leaderboard_indicator) if comment_pr1 is None or len(values) == 0: leaderboard_content = scoreText + ", Entity" else: leaderboard_content = values[0] # Delete the csv comment comment_pr1.del_comment(leaderboard_indicator) df = pd.read_csv(StringIO(leaderboard_content)) df.loc[len(df.index)] = [score, entry] df = df.sort_values(by=df.columns[0], ascending=ascending) new_leaderbord_content = df.to_csv(index=False) comment_pr1.add_comment(leaderboard_indicator + new_leaderbord_content) # Add new leaderboard results as a comment leaderboard_md = "## New Leaderboard\n" + df.to_markdown() self.comment.add_comment(leaderboard_md)
import sagemaker import boto3 from sagemaker.pytorch import PyTorch from sagemaker.pytorch import PyTorchModel from comment import Comment sagemaker_session = sagemaker.Session(boto3.session.Session()) # Put the right role and input data role = "arn:aws:iam::294038372338:role/hunkimSagemaker" comment = Comment() values = comment.get_comment('model_data=') if values is None or len(values) == 0: comment.add_comment('Deploy Fail: no model data. Did you train?') exit(-1) print("Data:", values[-1]) model = PyTorchModel(model_data=values[-1], role=role, framework_version='1.5.0', entry_point='mnist.py', source_dir='code') comment.add_comment('Deploying with data ' + values[-1]) try: predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge') comment.add_comment('end_point=' + predictor.endpoint) except Exception as e:
import sagemaker import boto3 from sagemaker.pytorch import PyTorch from sagemaker.pytorch import PyTorchModel from comment import Comment sagemaker_session = sagemaker.Session(boto3.session.Session()) # Put the right role and input data role = "arn:aws:iam::294038372338:role/hunkimSagemaker" comment = Comment() values = comment.get_comment('end_point=') if values is None or len(values) == 0: comment.add_comment('Delete Fail: no endpoint to delete. Did you deploy?') exit(-1) print("Endpoint:", values[-1]) model = PyTorchModel(model_data=values[-1], role=role, framework_version='1.5.0', entry_point='mnist.py', source_dir='code') comment.add_comment('Deleting endpoint ' + values[-1]) try: sagemaker_session.delete_endpoint(values[-1]) comment.add_comment('Endpoint ' + values[-1] + ' deleted!') comment.del_comment('end_point=') except Exception as e: