使用Sagemaker将数据上传到S3 [英] upload data to S3 with sagemaker
本文介绍了使用Sagemaker将数据上传到S3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试将数据上传到S3存储桶时,SageMaker出现问题.我收到此错误:
I have a problem with SageMaker when I try to upload Data into S3 bucket . I get this error :
NameError Traceback (most recent call last)
<ipython-input-26-d21b1cb0fcab> in <module>()
19 download('http://data.mxnet.io/data/caltech-256/caltech-256-60-train.rec')
20
---> 21 upload_to_s3('train', 'caltech-256-60-train.rec')
<ipython-input-26-d21b1cb0fcab> in upload_to_s3(channel, file)
13 data = open(file, "rb")
14 key = channel + '/' + file
---> 15 s3.Bucket(bucket).put_object(Key=key, Body=data)
16
17
NameError: name 'bucket' is not defined
这是脚本:
import os
import urllib.request
import boto3
def download(url):
filename = url.split("/")[-1]
if not os.path.exists(filename):
urllib.request.urlretrieve(url, filename)
def upload_to_s3(channel, file):
s3 = boto3.resource('s3')
data = open(file, "rb")
key = channel + '/' + file
s3.Bucket(bucket).put_object(Key=key, Body=data)
# caltech-256 download('http://data.mxnet.io/data/caltech-256/caltech-256-60-train.rec')
upload_to_s3('train', 'caltech-256-60-train.rec')
推荐答案
正如错误所说,变量bucket
没有定义.
您可能想要做类似
It is exactly as the error say, the variable bucket
is not defined.
you might want to do something like
bucket = <name of already created bucket in s3>
致电之前
s3.Bucket(bucket).put_object(Key=key, Body=data)
这篇关于使用Sagemaker将数据上传到S3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文