Skip to content

feature: Allow selecting inference response content for automl generated models #1566

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jun 12, 2020

Conversation

pdasamzn
Copy link
Contributor

@pdasamzn pdasamzn commented Jun 10, 2020

Description of changes:
Allow selecting inference response content for Autopilot generated models

  1. Added attach() method to AutoML to allow attaching an AutoML object
    to an existing SageMaker AutoMLJob

  2. Added create_model() method to AutoML class that returns a PipelineModel
    that can be used to deploy or transform.

  3. Added a utility function validate_and_update_inference_response() to AutoML
    class to update the inference container list based on the requested inference
    response keys.

  4. Updated and added unit tests and integ tests

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

  • I have read the CONTRIBUTING doc
  • I used the commit message format described in CONTRIBUTING
  • I have passed the region in to any/all clients that I've initialized as part of this change.
  • I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have checked that my tests are not configured for a specific region or account (if appropriate)
  • I have used unique_name_from_base to create resource names in integ tests (if appropriate)

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

pialidas added 2 commits June 10, 2020 11:59
1. Added attach() method to AutoML to allow attaching an AutoML object
to an existing AutoMLJob
2. Added create_model() method to AutoML that returns a PipelineModel
that can be used by the
3. Added a util function validate_and_update_inference_response() to
update the inference container list based on the requested
inference response keys
4. Updated and added unit tests
1. Added attach() method to AutoML to allow attaching an AutoML object
to an existing AutoMLJob
2. Added create_model() method to AutoML that returns a PipelineModel
that can be used by the
3. Added a util function validate_and_update_inference_response() to
update the inference container list based on the requested
inference response keys
4. Updated and added unit tests
@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 6965758
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 333cdbf
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 6965758
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 333cdbf
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: 333cdbf
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 6965758
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 333cdbf
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 5f21aa2
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 5f21aa2
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 450ceb7
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 5f21aa2
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 450ceb7
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 450ceb7
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: 450ceb7
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 6f53576
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 6f53576
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 6f53576
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: 6f53576
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 68b38d0
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 68b38d0
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: 68b38d0
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 68b38d0
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: baad38e
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 0324152
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 0324152
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: fdb858f
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: fdb858f
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: fdb858f
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: fdb858f
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: f263ae8
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: f263ae8
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: f263ae8
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: f263ae8
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@@ -187,49 +248,29 @@ def list_candidates(

return self.sagemaker_session.list_candidates(**list_candidates_args)["Candidates"]

def deploy(
def create_model(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this actually be private? I don't see a way to deploy an already created model here, maybe it exists outside of automl.py?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no. I purposefully introduced the method create_model as public facing APIs. This does not really create the sagemaker model, but it allows to use the generated PipelineModel to perform batch transform as well.

see the test for an example usecase

Copy link
Contributor

@wiltonwu wiltonwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall to me, just a minor comment about the workflow.

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-unit-tests
  • Commit ID: 7c30322
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-notebook-tests
  • Commit ID: 7c30322
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-pr
  • Commit ID: 7c30322
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@sagemaker-bot
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: sagemaker-python-sdk-local-mode-tests
  • Commit ID: 7c30322
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@nadiaya nadiaya merged commit 150e7e6 into aws:master Jun 12, 2020
metrizable pushed a commit to metrizable/sagemaker-python-sdk that referenced this pull request Jun 15, 2020
…ted models (aws#1566)

*  Added attach() method to AutoML to allow attaching an AutoML object
to an existing AutoMLJob
*  Added create_model() method to AutoML that returns a PipelineModel
that can be used by the
*  Added a util function validate_and_update_inference_response() to
update the inference container list based on the requested
inference response keys
* Updated and added unit tests
pintaoz-aws pushed a commit that referenced this pull request Dec 4, 2024
Resolve recipes correctly before launching (#1529)
fixes. (#1532)
fix recipe path. (#1566)
pintaoz-aws pushed a commit that referenced this pull request Dec 4, 2024
Resolve recipes correctly before launching (#1529)
fixes. (#1532)
fix recipe path. (#1566)
pintaoz-aws pushed a commit that referenced this pull request Dec 4, 2024
* Feature: Support GPU training recipes with Sagemaker Python SDK (#1516)

* v0 estimator for launching kandinksy training

* code cleanup

* option to over-ride git repos for kandinsky for testing purposes

* update dependencies

* update comment

* formatting fixes

* style fixes

* code cleanup

* Add warning messages for ingored arguments

* cleanup, address comments

* fix

* clone launcher repo only if necessary

* add a cleanup method to call after fit

* fix docstring

* fix warning

* cleanup update

* fix

* code style fix

* rename cleanup method for clarity

* missed change

* move cleanup to when object is destroyed

* add unit tests

* formatting fix

* removing tests which don't work as recipe repos are private

* removing tests which don't work as recipe repos are private

* resolve comments

* resolve comments

* Feature: Support Neuron training recipes. (#1526)

* Feature: Resolve recipes correctly before launching (#1529)

* fix to work with launcher recipes

* fix suffix for temp file

* fix path and error message

* fix for recipes from launcher

* resolve recipes correctly

* fix imports

* reformat message to avoid code-doc test issue

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* doc formatting

* check if resolver exists before registering

* Feature: Add unit tests for recipes and minor bug fixes. (#1532)

* basic checks and unit test for recipes

* More testing for recipes. Move recipe overrides to top before accessing any recipe fields.

* check that we use customer provided image uri if it is set

* reformat

* test fixes

* update git urls for recipes

* revert to ssh git urls for recipes

* Feature: Move image uris and git repos for training recipes to json (#1547)

* Update MANIFEST.in so that wheel builds correctly (#1563)

* Remove default values for fields in recipe_overrides and fix recipe path. (#1566)

* add optional source dir for recipes, copy training code and requirements to source dir

* diff names for recipe file and local script option

* format and add unit test

* make entry point script and recipe file temp files that can be gced

* formatting and fix

* test fix

* test fixes

* format fix

* break function up because it is too long

* fixes

* fix

* fix

* remove references to launcher and adapter dir as we copy out everything needed into source dir

* reformat

* copy all directory contents for trainium as there is more than one source file

* fix

* fix

* remove debugging message

* Change default source directory to current, add option to specify source dir (#1593)

* update to public uris for hyperpod recipe repos and smp image

* fixes

* remove debug copies

* change caps for env vars

* skip some tests for now

* format

* neuron json for retrieving images

* update training_recipes.json

* add unit test

* reformat

* fix long line

* add source dir check when using training recipe

* adding more regions

* reformat

* doc update

* doc update

* doc update

* doc update

* fix capitalization issues

* fix capitalization issues

* doc check issue
pintaoz-aws pushed a commit that referenced this pull request Dec 4, 2024
Resolve recipes correctly before launching (#1529)
fixes. (#1532)
fix recipe path. (#1566)
pintaoz-aws pushed a commit that referenced this pull request Dec 4, 2024
Resolve recipes correctly before launching (#1529)
fixes. (#1532)
fix recipe path. (#1566)
pintaoz-aws pushed a commit that referenced this pull request Dec 4, 2024
* Feature: Support GPU training recipes with Sagemaker Python SDK (#1516)

* v0 estimator for launching kandinksy training

* code cleanup

* option to over-ride git repos for kandinsky for testing purposes

* update dependencies

* update comment

* formatting fixes

* style fixes

* code cleanup

* Add warning messages for ingored arguments

* cleanup, address comments

* fix

* clone launcher repo only if necessary

* add a cleanup method to call after fit

* fix docstring

* fix warning

* cleanup update

* fix

* code style fix

* rename cleanup method for clarity

* missed change

* move cleanup to when object is destroyed

* add unit tests

* formatting fix

* removing tests which don't work as recipe repos are private

* removing tests which don't work as recipe repos are private

* resolve comments

* resolve comments

* Feature: Support Neuron training recipes. (#1526)

* Feature: Resolve recipes correctly before launching (#1529)

* fix to work with launcher recipes

* fix suffix for temp file

* fix path and error message

* fix for recipes from launcher

* resolve recipes correctly

* fix imports

* reformat message to avoid code-doc test issue

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* code style fix

* doc formatting

* check if resolver exists before registering

* Feature: Add unit tests for recipes and minor bug fixes. (#1532)

* basic checks and unit test for recipes

* More testing for recipes. Move recipe overrides to top before accessing any recipe fields.

* check that we use customer provided image uri if it is set

* reformat

* test fixes

* update git urls for recipes

* revert to ssh git urls for recipes

* Feature: Move image uris and git repos for training recipes to json (#1547)

* Update MANIFEST.in so that wheel builds correctly (#1563)

* Remove default values for fields in recipe_overrides and fix recipe path. (#1566)

* add optional source dir for recipes, copy training code and requirements to source dir

* diff names for recipe file and local script option

* format and add unit test

* make entry point script and recipe file temp files that can be gced

* formatting and fix

* test fix

* test fixes

* format fix

* break function up because it is too long

* fixes

* fix

* fix

* remove references to launcher and adapter dir as we copy out everything needed into source dir

* reformat

* copy all directory contents for trainium as there is more than one source file

* fix

* fix

* remove debugging message

* Change default source directory to current, add option to specify source dir (#1593)

* update to public uris for hyperpod recipe repos and smp image

* fixes

* remove debug copies

* change caps for env vars

* skip some tests for now

* format

* neuron json for retrieving images

* update training_recipes.json

* add unit test

* reformat

* fix long line

* add source dir check when using training recipe

* adding more regions

* reformat

* doc update

* doc update

* doc update

* doc update

* fix capitalization issues

* fix capitalization issues

* doc check issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants