将数据上传到 S3
在上个 notebook 中,你应该使用给定剽窃/非剽窃文本数据语料库的特征和类别标签创建了两个文件:training.csv 和 test.csv 文件。
以下单元格将加载一些 AWS SageMaker 库并创建一个默认存储桶。创建此存储桶后,你可以将本地存储的数据上传到 S3。
将训练和测试 .csv 特征文件保存到本地。你可以在 SageMaker 中运行第二个 notebook“2_Plagiarism_Feature_Engineering”,或者使用 Jupyter Lab 中的上传图标手动将文件上传到此 notebook。然后,你可以使用 sagemaker_session.upload_data 将本地文件上传到 S3,并直接指向训练数据的存储位置。
In [1]:
import pandas as pd import boto3 import sagemaker
In [2]:
""" DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE """ # session and role sagemaker_session = sagemaker.Session() role = sagemaker.get_execution_role() # create an S3 bucket bucket = sagemaker_session.default_bucket()
练习:将训练数据上传到 S3
指定在其中保存了 train.csv 文件的 data_dir。指定一个描述性 prefix,指出数据将上传到默认 S3 存储桶的什么位置。最后,通过调用 sagemaker_session.upload_data 并传入必要的参数,创建一个指向训练数据的指针。建议参考 Session 文档或之前的 SageMaker 代码示例。
你需要上传整个目录。之后,训练脚本将仅访问 train.csv 文件。
In [3]:
# should be the name of directory you created to save your features data
data_dir = "plagiarism_data"
# set prefix, a descriptive name for a directory
prefix = "sagemaker/plagiarism-data"
# upload all data to S3
input_data = sagemaker_session.upload_data(path=data_dir,bucket=bucket,key_prefix=prefix)
print("input_data=",input_data)
input_data= s3://sagemaker-us-east-2-946824679433/sagemaker/plagiarism-data
测试单元格
测试数据是否已成功上传。以下单元格将输出 S3 存储桶中的内容,如果为空,将抛出错误。你应该看到 data_dir 的内容,或许还有一些检查点。如果你看到其中列出了任何其他文件,那么你也许有一些旧的模型文件,你可以通过 S3 控制台删除这些旧文件(不过多余的文件应该不会影响在此 notebook 中开发的模型的性能)。
In [4]:
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
# confirm that data is in S3 bucket
empty_check = []
for obj in boto3.resource('s3').Bucket(bucket).objects.all():
empty_check.append(obj.key)
print(obj.key)
assert len(empty_check) !=0, 'S3 bucket is empty.'
print('Test passed!')
sagemaker/plagiarism-data/test.csv sagemaker/plagiarism-data/train.csv Test passed!
本文详细介绍了如何使用AWS SageMaker库将本地训练和测试数据上传到Amazon S3的过程。通过具体的代码示例,展示了如何创建S3存储桶,设置前缀,并使用sagemaker_session.upload_data函数上传.csv文件。此外,还提供了测试单元格,用于验证数据是否已成功上传到S3。
1218

被折叠的 条评论
为什么被折叠?



