AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
SageMaker XGBoost Parquet 示例代码失败并出错,这是bug吗?
0
【以下的问题经过翻译处理】 您好, 我试图运行SageMaker XGBoost Parquet示例链接在此处。我按照相同的步骤使用自己的数据。我上传了我的数据并将其转换为pandas df。train\ _df形状为(15279798,32),而test\ _df形状为(150848,32)。然后我将其转换为parquet文件并按示例说明上传到S3存储桶中。
我遇到的错误如下:
Failure reason
AlgorithmError: framework error: Traceback (most recent call last): File "/miniconda3/lib/python3.7/site-packages/sagemaker_xgboost_container/data_utils.py", line 422, in _get_parquet_dmatrix_pipe_mode data = np.vstack(examples) File "<__array_function__ internals>", line 6, in vstack File "/miniconda3/lib/python3.7/site-packages/numpy/core/shape_base.py", line 283, in vstack return _nx.concatenate(arrs, 0) File "<__array_function__ internals>", line 6, in concatenate ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 32 and the array at index 1 has size 9 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/miniconda3/lib/python3.7/site-packages/sagemaker_containers/_trainer.py", line 84, in train entrypoint() File "/miniconda3/lib/python3.7/site-packages/sagemaker_xgboost_container/training.py", line 94, in main train(framework.tr
但我感到困惑,因为train和test具有相同的形状,并且我没有添加任何额外的代码。我的代码如下:
# requires PyArrow installed
train.to_parquet("Xgb_train.parquet")
test.to_parquet("Xgb_test.parquet")
%%time
sagemaker.Session().upload_data(
"Xgb_train.parquet", bucket=bucket, key_prefix=prefix + "/" + "Ptrain"
)
sagemaker.Session().upload_data(
"Xgb_test.parquet", bucket=bucket, key_prefix=prefix + "/" + "Ptest"
)
container = sagemaker.image_uris.retrieve("xgboost", region, "1.2-2")
%%time
import time
from time import gmtime, strftime
job_name = "xgboost-parquet-example-training-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
print("Training job", job_name)
# Ensure that the training and validation data folders generated above are reflected in the "InputDataConfig" parameter below.
create_training_params = {
"AlgorithmSpecification": {"TrainingImage": container, "TrainingInputMode": "Pipe"},
"RoleArn": role,
"OutputDataConfig": {"S3OutputPath": bucket_path + "/" + prefix + "/single-xgboost"},
"ResourceConfig": {"InstanceCount": 1, "InstanceType": "ml.m5.2xlarge", "VolumeSizeInGB": 20},
"TrainingJobName": job_name,
"HyperParameters": {
"max_depth": "5",
"eta": "0.2",
"gamma": "4",
"min_child_weight": "6",
"subsample": "0.7",
"objective": "reg:linear",
"num_round": "10",
"verbosity": "2",
},
"StoppingCondition": {"MaxRuntimeInSeconds": 3600},
"InputDataConfig": [
{
"ChannelName": "train",
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": bucket_path + "/" + prefix + "/Ptrain",
"S3DataDistributionType": "FullyReplicated",
}
},
"ContentType": "application/x-parquet",
"CompressionType": "None",
},
{
"ChannelName": "validation",
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": bucket_path + "/" + prefix + "/Ptest",
"S3DataDistributionType": "FullyReplicated",
}
},
"ContentType": "application/x-parquet",
"CompressionType": "None",
},
],
}
client = boto3.client("sagemaker", region_name=region)
client.create_training_job(**create_training_params)
print(client)
status = client.describe_training_job(TrainingJobName=job_name)["TrainingJobStatus"]
print(status)
while status != "Completed" and status != "Failed":
time.sleep(60)
status = client.describe_training_job(TrainingJobName=job_name)["TrainingJobStatus"]
print(status)
- 語言
- 中文 (简体)
1 個回答
- 最新
- 最多得票
- 最多評論
這些答案是否有幫助?支持正確答案,以幫助社區從您的知識中受益。
相關內容
- 已提問 6 個月前
- 已提問 2 年前
