Как создать модель из лучшего задания по настройке гиперпараметра в Sagemaker? - PullRequest
0 голосов
/ 06 марта 2020

Я использую AWS SageMaker для запуска настройки гиперпараметра для оптимизации модели XGBoost. Я могу сделать это, используя пример кода ниже. У меня вопрос: как я могу тогда выбрать лучшую работу по настройке гиперпараметра и создать модель с помощью кода? Я знаю, что в консоли AWS я вижу лучшую работу и нажимаю «Создать модель», но я хочу сделать это, используя код Python.

sess = sagemaker.Session()
s3_input_train = sagemaker.s3_input(s3_data='s3://{}/{}/train'.format(bucket, prefix), content_type='csv')
s3_input_validation = sagemaker.s3_input(s3_data='s3://{}/{}/valid/'.format(bucket, prefix), content_type='csv')
xgb_cont = get_image_uri(region, 'xgboost', repo_version='0.90-1')
xgb = sagemaker.estimator.Estimator(xgb_cont, role, train_instance_count=1, train_instance_type='ml.m4.4xlarge',
                                    output_path='s3://{}/{}/output'.format(bucket, prefix), sagemaker_session=sess)
xgb.set_hyperparameters(eval_metric='rmse', objective='reg:squarederror', num_round=100)
hyperparameter_ranges = {'eta': ContinuousParameter(0, 1), 'min_child_weight': ContinuousParameter(1, 10),
                        'alpha': ContinuousParameter(0, 2), 'max_depth': IntegerParameter(1, 10)}
tuner = HyperparameterTuner(xgb, 
                            objective_metric_name='validation:rmse', 
                            objective_type='Minimize',
                            hyperparameter_ranges=hyperparameter_ranges, 
                            max_jobs=20, max_parallel_jobs=10)
tuner.fit({'train': s3_input_train, 'validation': s3_input_validation})

1 Ответ

0 голосов
/ 06 марта 2020

Очевидно, что я могу развернуть лучшую модель, используя следующий код:

tuner.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...