python - AWS 上的训练数据
问题描述
我对 AWS 比较陌生,我正在尝试分析 kaggle 上可用的信用欺诈数据集。我正在通过查看链接“ https://aws.amazon.com/blogs/machine-learning/preprocess-input-data-before-making-predictions-using-amazon-sagemaker- ”中提到的示例来使用它推理管道和 scikit-learn/ "。我将信用卡数据集上传到我的 s3 存储桶中并完成了以下操作
import boto3
import botocore
import pandas as pd
import sagemaker
from sagemaker import get_execution_role
role = get_execution_role()
bucket = '<mybucket>'
prefix = 'test'
key = 'creditcard.csv'
data_location = 's3://{}/{}/train/{}'.format(bucket,prefix,key)
output_location = 's3://{}/{}/output'.format(bucket, prefix)
containers = {
<mycontainer>
}
sess = sagemaker.Session()
linear = sagemaker.estimator.Estimator(containers[boto3.Session().region_name],
role,
train_instance_count=1,
train_instance_type='ml.c4.xlarge',
output_path=output_location,
sagemaker_session=sess)
linear.set_hyperparameters(feature_dim=31,
predictor_type='binary_classifier',
mini_batch_size=50)
linear.fit({'train': data_location})
当我尝试运行此代码时,弹出一条错误消息,显示“训练通道为空或小批量大小太高。验证训练数据是否包含非空文件且小批量大小小于每个训练主机的记录数”我的训练数据没有任何空文件。如何处理这个错误?*我从我的 PC 上传数据集并存储在名为 test 的文件夹内的存储桶中 *该容器是用于线性学习器的标准容器 *我想我无法将文件从 s3 存储桶连接到我创建的笔记本实例。任何人都可以验证
解决方案
请仔细检查data_location
传递给fit()
调用的 var 的值,并确保它是您期望的值。您还应该使用 aws cli(即aws s3 ls $data_location
)检查它。
如果您觉得一切正常,那么您需要帮助我们进一步调查。不幸的是,这只有在我们掌握了失败的培训工作的详细信息时才有可能。您可以在 SageMaker 论坛上发起对话:https ://forums.aws.amazon.com/forum.jspa?forumID=285
推荐阅读
- typescript - Redux Thunk 调用另一个 Thunk:缺少属性“类型”
- java - Spock 测试中未返回存根对象方法值
- python-3.x - 带有来自多个位置的输入/输出文件的 Docker 文件
- mongodb - MongoError: E11000 重复键错误收集如何解决
- node.js - 我无法正确安装 Angular CLI
- microsoft-graph-api - Microsoft Graph API/EWS 不将子文件夹列表的顺序作为 Outlook 应用程序返回
- reactjs - React Hook useEffect 缺少依赖项“formdata”
- c# - 如何从我的模型中的 sqllite db 获取数据?
- authentication - ajax 调用后的 Elixir 会话数据
- python - 使用中心轴更改散点图中原点的坐标