Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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:
Ejemplo n.º 4
0
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: