Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 cv2如何访问AWS s3中的视频_Amazon S3_Amazon Sagemaker - Fatal编程技术网

Amazon s3 cv2如何访问AWS s3中的视频

Amazon s3 cv2如何访问AWS s3中的视频,amazon-s3,amazon-sagemaker,Amazon S3,Amazon Sagemaker,我现在可以用SageMaker笔记本了。但这里有一个重要的问题。当我想使用cv2.VideoCapture读取s3存储桶中的视频时。它说路径不存在。Stackoverflow的一个答案是cv2只支持本地文件,这意味着我们必须将视频从s3存储桶下载到笔记本电脑,但我不想这样做。我想知道你是怎么看这些视频的?谢谢 我发现一个解决方案是使用CloudFront,但这会收费吗?速度快吗?您在SageMaker中使用Python,因此可以使用: 导入boto3 s3\u client=boto3.cli

我现在可以用SageMaker笔记本了。但这里有一个重要的问题。当我想使用cv2.VideoCapture读取s3存储桶中的视频时。它说路径不存在。Stackoverflow的一个答案是cv2只支持本地文件,这意味着我们必须将视频从s3存储桶下载到笔记本电脑,但我不想这样做。我想知道你是怎么看这些视频的?谢谢


我发现一个解决方案是使用CloudFront,但这会收费吗?速度快吗?

您在SageMaker中使用Python,因此可以使用:

导入boto3
s3\u client=boto3.client('s3'))
s3_客户端下载_文件('deepfake2020','dfdc_train_part_1/foo.mp4',foo.mp4'))
这将把文件从AmazonS3下载到本地磁盘,文件名为
foo.mp4

见:在boto3中


这要求SageMaker实例已被授予访问Amazon S3 bucket的权限。

您正在SageMaker中使用Python,因此可以使用:

导入boto3
s3\u client=boto3.client('s3'))
s3_客户端下载_文件('deepfake2020','dfdc_train_part_1/foo.mp4',foo.mp4'))
这将把文件从AmazonS3下载到本地磁盘,文件名为
foo.mp4

见:在boto3中

这要求SageMaker实例被授予访问Amazon S3 bucket的权限。

这一解决方案也在发挥作用

要使用AWS SageMaker

1) 转到支持中心,请求提高笔记本实例限制。他们通常会在1天内回复

2) 创建笔记本时,将本地磁盘大小更改为1TB(数据大小的两倍)

3) 打开Jupyter lab并在终端上键入cd SageMaker

4) 使用CurlWget获取数据集的下载链接

5) 下载后,解压缩数据

解压dfdc\u train\u all.zip

解压'*.zip'

好了

这一解决方案也在发挥作用

要使用AWS SageMaker

1) 转到支持中心,请求提高笔记本实例限制。他们通常会在1天内回复

2) 创建笔记本时,将本地磁盘大小更改为1TB(数据大小的两倍)

3) 打开Jupyter lab并在终端上键入cd SageMaker

4) 使用CurlWget获取数据集的下载链接

5) 下载后,解压缩数据

解压dfdc\u train\u all.zip

解压'*.zip'


好了

该命令是否接受网站的URL作为输入?如果是这样的话,那么您可以使用CloudFront,但是只通过URL(
http://
)而不是S3URI(
S3://
)访问内容会更简单。这将要求数据可以公开访问,或者计算特殊URL以获得访问权限。坦率地说,您最好还是在本地下载内容,因为无论如何都需要将内容下载到计算机上!下载到本地SageMaker磁盘正在工作。对不起,我不明白你的评论是什么意思。你是说你很乐意使用下载,这样你的问题就可以结束了吗?或者你是说如果你提供一个URL,
VideoCapture()
命令就可以工作?我也在Kaggle上发布了这个问题,有一个答案建议将数据下载到本地SageMaker磁盘。我试图通过
awss3cp{s3path}{localpath}
将一个视频从s3存储桶复制到本地磁盘。这样,我就可以使用
VideoCapture()
阅读。但是URL不起作用,CloudFront也不起作用。我现在正在努力将整个数据下载到本地磁盘。我尝试了
wget
,但不起作用,不知道为什么。因此,我保留这个问题,因为解决方案尚未完成。该命令是否接受网站的URL作为输入?如果是这样的话,那么您可以使用CloudFront,但是只通过URL(
http://
)而不是S3URI(
S3://
)访问内容会更简单。这将要求数据可以公开访问,或者计算特殊URL以获得访问权限。坦率地说,您最好还是在本地下载内容,因为无论如何都需要将内容下载到计算机上!下载到本地SageMaker磁盘正在工作。对不起,我不明白你的评论是什么意思。你是说你很乐意使用下载,这样你的问题就可以结束了吗?或者你是说如果你提供一个URL,
VideoCapture()
命令就可以工作?我也在Kaggle上发布了这个问题,有一个答案建议将数据下载到本地SageMaker磁盘。我试图通过
awss3cp{s3path}{localpath}
将一个视频从s3存储桶复制到本地磁盘。这样,我就可以使用
VideoCapture()
阅读。但是URL不起作用,CloudFront也不起作用。我现在正在努力将整个数据下载到本地磁盘。我尝试了
wget
,但不起作用,不知道为什么。因此,我保留这个问题,因为解决方案尚未完成。