在 SageMaker 上构建 XGBoost
Building XGBoost on SageMaker
我正在尝试 运行 AWS Sagemaker 上的 XGBoost 并尝试为 XGBoost 调用容器。
containers = {'us-west-2': '433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest',
'us-east-1': '811284229777.dkr.ecr.us-east-1.amazonaws.com/xgboost:latest',
'us-east-2': '825641698319.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest',
'eu-west-1': '685385470294.dkr.ecr.eu-west-1.amazonaws.com/xgboost:latest'}
hyperparameters = {
"max_depth":"5",
"eta":"0.2",
"gamma":"4",
"min_child_weight":"6",
"subsample":"0.7",
"objective":"binary:logistic",
"num_round":50
}
estimator = sagemaker.estimator.Estimator(image_name=containers['us-east-1'],
hyperparameters=hyperparameters,
role=sagemaker.get_execution_role(),
train_instance_count=1,
train_instance_type='ml.m5.2xlarge',
train_volume_size=5, # 5 GB
output_path=output_path,
train_use_spot_instances=True,
train_max_run=300,
train_max_wait=600)
但是,运行以下会引发错误:
estimator.fit({'train': s3_input_train,'validation': s3_input_test})
ClientError: An error occurred (ValidationException) when calling the CreateTrainingJob operation: Invalid DNS suffix 'amazonaws.com' for region 'us-east-1' in training image. Please provide the valid <region>.<dns-suffix>: 'ap-south-1.amazonaws.com'
有人可以帮助解决这个错误吗?谢谢。
笔记本实例是在 ap-south-1 中创建的,S3 存储桶是在 us-east-1 中创建的。从与 S3 存储桶相同的区域创建另一个笔记本实例解决了该问题。
我正在尝试 运行 AWS Sagemaker 上的 XGBoost 并尝试为 XGBoost 调用容器。
containers = {'us-west-2': '433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest',
'us-east-1': '811284229777.dkr.ecr.us-east-1.amazonaws.com/xgboost:latest',
'us-east-2': '825641698319.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest',
'eu-west-1': '685385470294.dkr.ecr.eu-west-1.amazonaws.com/xgboost:latest'}
hyperparameters = {
"max_depth":"5",
"eta":"0.2",
"gamma":"4",
"min_child_weight":"6",
"subsample":"0.7",
"objective":"binary:logistic",
"num_round":50
}
estimator = sagemaker.estimator.Estimator(image_name=containers['us-east-1'],
hyperparameters=hyperparameters,
role=sagemaker.get_execution_role(),
train_instance_count=1,
train_instance_type='ml.m5.2xlarge',
train_volume_size=5, # 5 GB
output_path=output_path,
train_use_spot_instances=True,
train_max_run=300,
train_max_wait=600)
但是,运行以下会引发错误:
estimator.fit({'train': s3_input_train,'validation': s3_input_test})
ClientError: An error occurred (ValidationException) when calling the CreateTrainingJob operation: Invalid DNS suffix 'amazonaws.com' for region 'us-east-1' in training image. Please provide the valid <region>.<dns-suffix>: 'ap-south-1.amazonaws.com'
有人可以帮助解决这个错误吗?谢谢。
笔记本实例是在 ap-south-1 中创建的,S3 存储桶是在 us-east-1 中创建的。从与 S3 存储桶相同的区域创建另一个笔记本实例解决了该问题。