nab*_*bla 2 amazon-s3 amazon-ec2 amazon-web-services xgboost amazon-sagemaker
我正在尝试使用 Amazon Sagemaker (xgboost: eu-west-1': '685385470294.dkr.ecr.eu-west-1.amazonaws.com/xgboost:latest') 训练模型。但是在开始训练工作后不久我总是收到相同的错误消息:
“ClientError:在数据路径中发现隐藏文件!在训练前删除它。”
S3 控制台显示输出路径为空(我也尝试创建一个新目录无济于事)。未为存储桶启用版本控制。
令人惊讶的是,谷歌在此错误消息下没有发现任何内容。
我已将输入和输出配置如下:
"InputDataConfig": [
{
"ChannelName": "train",
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": "s3://{}/{}-inputdata/train".format(s3_utils.bucket, LABEL)
}
},
"ContentType": "csv",
"CompressionType": "None"
},
{
"ChannelName": "validation",
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": "s3://{}/{}-inputdata/validation".format(s3_utils.bucket, LABEL)
}
},
"ContentType": "csv",
"CompressionType": "None"
}
],
"OutputDataConfig": {
"S3OutputPath": "s3://{}/{}-xgboost-output".format(s3_utils.bucket, LABEL) },
Run Code Online (Sandbox Code Playgroud)
场
"RoleArn": role,
Run Code Online (Sandbox Code Playgroud)
角色从何而来
from sagemaker import get_execution_role
role = get_execution_role()
Run Code Online (Sandbox Code Playgroud)
并且是
arn:aws:iam::<ACCOUNT>:role/service-role/AmazonSageMaker-ExecutionRole-<HIDDEN>
Run Code Online (Sandbox Code Playgroud)
这是显示数据路径的屏幕截图:数据路径的 S3 仪表板视图。这两个 csv 文件就是全部。特别是,没有空的“目录”可能是“隐藏文件”的含义。
好的,您在S3Uri这里设置的前缀很重要。根据您的屏幕截图,我认为您的存储桶看起来像这样(树形):
s3://bucket
??? LABEL-inputdata
??? train.csv
??? validation.csv
Run Code Online (Sandbox Code Playgroud)
根据您的InputDataConfig上述情况,SageMaker 必须将其下载到文件系统上的文件夹中xgboost才能运行训练算法。它根据频道名称和S3Uri您提供的前缀执行此操作。前缀被砍掉以确定要下载到的文件夹/文件的名称。因此,在您的示例中,train频道下载为:
/opt/ml/input/data/train/.csv
Run Code Online (Sandbox Code Playgroud)
最后,xgboost实现将.csv文件视为隐藏文件并对其进行投诉。
为了让它工作,你可以像这样在 s3 中重新排列你的数据......
s3:bucket
??? LABEL-inputdata
??? train
? ??? data.csv
??? validation
??? data.csv
Run Code Online (Sandbox Code Playgroud)
.. 并将您的输入数据配置更改为:
"InputDataConfig": [
{
"ChannelName": "train",
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": "s3://{}/{}-inputdata/train/".format(s3_utils.bucket, LABEL)
}
},
"ContentType": "csv",
"CompressionType": "None"
},
{
"ChannelName": "validation",
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": "s3://{}/{}-inputdata/validation/".format(s3_utils.bucket, LABEL)
}
},
"ContentType": "csv",
"CompressionType": "None"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |