aws / sagemaker-python-sdk

A library for training and deploying machine learning models on Amazon SageMaker
https://sagemaker.readthedocs.io/
Apache License 2.0
2.11k stars 1.14k forks source link

fix model reference train by excluding certian keys from camelization #4829

Open bencrabtree opened 3 months ago

bencrabtree commented 3 months ago

Issue #, if available:

Description of changes: When initializing the JumpStartEstimator class, it throws an error while initializing the metric definitions

    847 for metric_definition in default_metric_definitions:
--> 848     if metric_definition["Name"] not in {
    849         definition["Name"] for definition in kwargs.metric_definitions
    850     }:
    851         kwargs.metric_definitions.append(metric_definition)

KeyError: 'Name'

I tried printing out the default_metric_definitions for the ModelReference and got the following:

[{'name': 'huggingface-textgeneration:eval-loss',
  'regex': "'eval_loss': ([0-9]+\\.[0-9]+)"},
 {'name': 'huggingface-textgeneration:train-loss',
  'regex': "'loss': ([0-9]+\\.[0-9]+)"}]

When I tried printing out the same for the base Model, I got this:

[{'Name': 'huggingface-textgeneration:eval-loss',
  'Regex': "'eval_loss': ([0-9]+\\.[0-9]+)"},
 {'Name': 'huggingface-textgeneration:train-loss',
  'Regex': "'loss': ([0-9]+\\.[0-9]+)"}]

Testing done:

Merge Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.

General

Tests

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.