-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
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