Skip to content

TensorFlow Estimator doesnt allow naming of the model #849

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

Closed
jmgray24 opened this issue Jun 13, 2019 · 1 comment
Closed

TensorFlow Estimator doesnt allow naming of the model #849

jmgray24 opened this issue Jun 13, 2019 · 1 comment

Comments

@jmgray24
Copy link

System Information

  • Framework TensorFlow
  • Framework Version: N/a
  • Python Version: 2.7
  • CPU or GPU: N/A
  • Python SDK Version: 1.27.0
  • Are you using a custom image: N/A

Describe the problem

The behavior between TensorFlow Estimator and Estimator deploy is not consistent regarding create_model.

When calling deploy from a Base Estimator, you are able to specify the model name using the name keyword argument, however TensorFlow's estimator does not accept additional keyword arguments in its create_model

Minimal repro / logs

Using hpo_tensorflow_mnist example notebook:

`estimator = TensorFlow(entry_point='mnist.py',
role=role,
framework_version='1.12.0',
training_steps=1000,
evaluation_steps=100,
train_instance_count=1,
train_instance_type='ml.m4.xlarge',
base_job_name='DEMO-hpo-tensorflow')

hyperparameter_ranges = {'learning_rate': ContinuousParameter(0.01, 0.2)}

objective_metric_name = 'loss'
objective_type = 'Minimize'
metric_definitions = [{'Name': 'loss',
'Regex': 'loss = ([0-9\.]+)'}]

tuner = HyperparameterTuner(estimator,
objective_metric_name,
hyperparameter_ranges,
metric_definitions,
max_jobs=9,
max_parallel_jobs=3,
objective_type=objective_type,
base_tuning_job_name="mytesttuner")

tuner.fit(inputs)

boto3.client('sagemaker').describe_hyper_parameter_tuning_job(
HyperParameterTuningJobName=tuner.latest_tuning_job.job_name)['HyperParameterTuningJobStatus']

tuner.deploy(1, "ml.c4.xlarge", name="testname")
`

  • Exact command to reproduce:
    tuner.deploy(1, "ml.c4.xlarge", name="testname")

This works if the Estimator the HPO job is built from is a base Estimator but fails with an

@jmgray24
Copy link
Author

I just realized this appears to be covered in #792.

rubanh pushed a commit to rubanh/sagemaker-python-sdk that referenced this issue Mar 28, 2023
…Monitor, and fixed PROCESSING_CONFIG_PATH (aws#849)

Co-authored-by: Balaji Sankar <[email protected]>
claytonparnell pushed a commit that referenced this issue Mar 29, 2023
* feature: Added Config parser for SageMaker Python SDK (#840)

Co-authored-by: Balaji Sankar <[email protected]>

* intelligent defaults - tags and encryption (#842)

* feature: sagemaker config - support tags for all APIs

* feature: sagemaker config - support EnableInterContainerTrafficEncryption for relevant APIs

---------

Co-authored-by: Ruban Hussain <[email protected]>

* intelligent defaults - custom parameters and small fixes (#845)

* fix: sagemaker-config - S3 session, tuning tags, config schema test side-effects

* feature: sagemaker-config - support for custom parameters in config schema

---------

Co-authored-by: Ruban Hussain <[email protected]>

* feature: Added support for VPC Config, EnableNetworkIsolation, KMS Key ID, Volume KMS Key ID, IAM role to be fetched from Config (#846)

Co-authored-by: Balaji Sankar <[email protected]>

* fix: Make Key, Value as required fields for each "Tags" entry in the config file.

* fix: Make 'role' as Optional for ModelQualityMonitor and DefaultModelMonitor, and fixed PROCESSING_CONFIG_PATH (#849)

Co-authored-by: Balaji Sankar <[email protected]>

* Fix: Certain unit tests aren't passing sagemaker_session. Modify the logic to accommodate that case (#850)

Co-authored-by: Balaji Sankar <[email protected]>

* fix: Sagemaker Config - KeyError: 'MonitoringJobDefinition' in model_monitoring

* change: Sagemaker Config - improved readability of print statements and simplified its code

* fix: Sagemaker Config - Reduce duplicate and misleading config-related print statements

* fix: Sagemaker Config - add function description

* fix: Sagemaker Config - Fix failing Integ tests, fix backwards incompatible behavior, and improved some unit tests

* change: new integ test for sagemaker_config

* fix: Sagemaker Config - fleshed out unit tests and fixed bugs

* fix: Sagemaker Config - Removed hard coded config values in the unit tests

* fix: inject from config into existing ProductionVariants inside create_endpoint_config_from_existing

* change: added unit test for verifying yaml safe_load method

* change: addressed PR comments for SageMaker Config

* change: Sagemaker Config - minor clarification

* change: ModelMonitoring and Processing now use helper methods for updating NetworkConfig

* change: Refactoring session.py and added additional schema validation for ValidationProfiles

* update: expand one unit test

* update: new integ test for cross context injection

* change: remove unwanted method and replace it with a different method for config injection

* fix: Address documentation errors and removed unnecessary properties and setters

* fix: moving certain config file helper methods to utils.py

* change: Add a separate helper to merge list of objects

* fix: Documentation updates for SageMakerConfig

* fix: bubble up exceptions from S3 while fetching the Config

* fix: Added additional test cases for config helper methods. Also made minor documentation updates.

* fix: small bug fix to print statements for update_list_of_dicts_with_values_from_config

* fix: Replace SageMakerConfig class with just method invocations

* fix: fix broken unit tests due to refactoring

* fix: bug where a user-provided sagemaker_config wasnt set

* change: rename fetch_sagemaker_config to load_sagemaker_config

* fix: update Schema to match exactly with APIs

* add documentation for default configuration support

* fix linting errors

* fix link lint

* fix lint

---------

Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ruban Hussain <[email protected]>
Co-authored-by: Ivy Bazan <[email protected]>
evakravi pushed a commit to evakravi/sagemaker-python-sdk that referenced this issue Apr 3, 2023
* feature: Added Config parser for SageMaker Python SDK (aws#840)

Co-authored-by: Balaji Sankar <[email protected]>

* intelligent defaults - tags and encryption (aws#842)

* feature: sagemaker config - support tags for all APIs

* feature: sagemaker config - support EnableInterContainerTrafficEncryption for relevant APIs

---------

Co-authored-by: Ruban Hussain <[email protected]>

* intelligent defaults - custom parameters and small fixes (aws#845)

* fix: sagemaker-config - S3 session, tuning tags, config schema test side-effects

* feature: sagemaker-config - support for custom parameters in config schema

---------

Co-authored-by: Ruban Hussain <[email protected]>

* feature: Added support for VPC Config, EnableNetworkIsolation, KMS Key ID, Volume KMS Key ID, IAM role to be fetched from Config (aws#846)

Co-authored-by: Balaji Sankar <[email protected]>

* fix: Make Key, Value as required fields for each "Tags" entry in the config file.

* fix: Make 'role' as Optional for ModelQualityMonitor and DefaultModelMonitor, and fixed PROCESSING_CONFIG_PATH (aws#849)

Co-authored-by: Balaji Sankar <[email protected]>

* Fix: Certain unit tests aren't passing sagemaker_session. Modify the logic to accommodate that case (aws#850)

Co-authored-by: Balaji Sankar <[email protected]>

* fix: Sagemaker Config - KeyError: 'MonitoringJobDefinition' in model_monitoring

* change: Sagemaker Config - improved readability of print statements and simplified its code

* fix: Sagemaker Config - Reduce duplicate and misleading config-related print statements

* fix: Sagemaker Config - add function description

* fix: Sagemaker Config - Fix failing Integ tests, fix backwards incompatible behavior, and improved some unit tests

* change: new integ test for sagemaker_config

* fix: Sagemaker Config - fleshed out unit tests and fixed bugs

* fix: Sagemaker Config - Removed hard coded config values in the unit tests

* fix: inject from config into existing ProductionVariants inside create_endpoint_config_from_existing

* change: added unit test for verifying yaml safe_load method

* change: addressed PR comments for SageMaker Config

* change: Sagemaker Config - minor clarification

* change: ModelMonitoring and Processing now use helper methods for updating NetworkConfig

* change: Refactoring session.py and added additional schema validation for ValidationProfiles

* update: expand one unit test

* update: new integ test for cross context injection

* change: remove unwanted method and replace it with a different method for config injection

* fix: Address documentation errors and removed unnecessary properties and setters

* fix: moving certain config file helper methods to utils.py

* change: Add a separate helper to merge list of objects

* fix: Documentation updates for SageMakerConfig

* fix: bubble up exceptions from S3 while fetching the Config

* fix: Added additional test cases for config helper methods. Also made minor documentation updates.

* fix: small bug fix to print statements for update_list_of_dicts_with_values_from_config

* fix: Replace SageMakerConfig class with just method invocations

* fix: fix broken unit tests due to refactoring

* fix: bug where a user-provided sagemaker_config wasnt set

* change: rename fetch_sagemaker_config to load_sagemaker_config

* fix: update Schema to match exactly with APIs

* add documentation for default configuration support

* fix linting errors

* fix link lint

* fix lint

---------

Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ruban Hussain <[email protected]>
Co-authored-by: Ivy Bazan <[email protected]>
doddaspk-amzn pushed a commit to doddaspk-amzn/sagemaker-python-sdk that referenced this issue Apr 6, 2023
* feature: Added Config parser for SageMaker Python SDK (aws#840)

Co-authored-by: Balaji Sankar <[email protected]>

* intelligent defaults - tags and encryption (aws#842)

* feature: sagemaker config - support tags for all APIs

* feature: sagemaker config - support EnableInterContainerTrafficEncryption for relevant APIs

---------

Co-authored-by: Ruban Hussain <[email protected]>

* intelligent defaults - custom parameters and small fixes (aws#845)

* fix: sagemaker-config - S3 session, tuning tags, config schema test side-effects

* feature: sagemaker-config - support for custom parameters in config schema

---------

Co-authored-by: Ruban Hussain <[email protected]>

* feature: Added support for VPC Config, EnableNetworkIsolation, KMS Key ID, Volume KMS Key ID, IAM role to be fetched from Config (aws#846)

Co-authored-by: Balaji Sankar <[email protected]>

* fix: Make Key, Value as required fields for each "Tags" entry in the config file.

* fix: Make 'role' as Optional for ModelQualityMonitor and DefaultModelMonitor, and fixed PROCESSING_CONFIG_PATH (aws#849)

Co-authored-by: Balaji Sankar <[email protected]>

* Fix: Certain unit tests aren't passing sagemaker_session. Modify the logic to accommodate that case (aws#850)

Co-authored-by: Balaji Sankar <[email protected]>

* fix: Sagemaker Config - KeyError: 'MonitoringJobDefinition' in model_monitoring

* change: Sagemaker Config - improved readability of print statements and simplified its code

* fix: Sagemaker Config - Reduce duplicate and misleading config-related print statements

* fix: Sagemaker Config - add function description

* fix: Sagemaker Config - Fix failing Integ tests, fix backwards incompatible behavior, and improved some unit tests

* change: new integ test for sagemaker_config

* fix: Sagemaker Config - fleshed out unit tests and fixed bugs

* fix: Sagemaker Config - Removed hard coded config values in the unit tests

* fix: inject from config into existing ProductionVariants inside create_endpoint_config_from_existing

* change: added unit test for verifying yaml safe_load method

* change: addressed PR comments for SageMaker Config

* change: Sagemaker Config - minor clarification

* change: ModelMonitoring and Processing now use helper methods for updating NetworkConfig

* change: Refactoring session.py and added additional schema validation for ValidationProfiles

* update: expand one unit test

* update: new integ test for cross context injection

* change: remove unwanted method and replace it with a different method for config injection

* fix: Address documentation errors and removed unnecessary properties and setters

* fix: moving certain config file helper methods to utils.py

* change: Add a separate helper to merge list of objects

* fix: Documentation updates for SageMakerConfig

* fix: bubble up exceptions from S3 while fetching the Config

* fix: Added additional test cases for config helper methods. Also made minor documentation updates.

* fix: small bug fix to print statements for update_list_of_dicts_with_values_from_config

* fix: Replace SageMakerConfig class with just method invocations

* fix: fix broken unit tests due to refactoring

* fix: bug where a user-provided sagemaker_config wasnt set

* change: rename fetch_sagemaker_config to load_sagemaker_config

* fix: update Schema to match exactly with APIs

* add documentation for default configuration support

* fix linting errors

* fix link lint

* fix lint

---------

Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ruban Hussain <[email protected]>
Co-authored-by: Ivy Bazan <[email protected]>
nmadan added a commit to nmadan/sagemaker-python-sdk that referenced this issue Apr 18, 2023
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ruban Hussain <[email protected]>
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ivy Bazan <[email protected]>
Co-authored-by: rubanh <[email protected]>
Co-authored-by: Namrata Madan <[email protected]>
fixes (aws#845)
fix: Make 'role' as Optional for ModelQualityMonitor and DefaultModelMonitor, and fixed PROCESSING_CONFIG_PATH (aws#849)
Fix: Certain unit tests aren't passing sagemaker_session. Modify the logic to accommodate that case (aws#850)
nmadan added a commit to nmadan/sagemaker-python-sdk that referenced this issue Apr 18, 2023
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ruban Hussain <[email protected]>
Co-authored-by: Balaji Sankar <[email protected]>
Co-authored-by: Ivy Bazan <[email protected]>
Co-authored-by: rubanh <[email protected]>
Co-authored-by: Namrata Madan <[email protected]>
fixes (aws#845)
fix: Make 'role' as Optional for ModelQualityMonitor and DefaultModelMonitor, and fixed PROCESSING_CONFIG_PATH (aws#849)
Fix: Certain unit tests aren't passing sagemaker_session. Modify the logic to accommodate that case (aws#850)
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

No branches or pull requests

1 participant