Как бы cv2 получал доступ к видео в AWS s3 bucket - PullRequest
0 голосов
/ 11 февраля 2020

Теперь я могу использовать ноутбук SageMaker. Но здесь есть серьезная проблема. Когда я хотел использовать cv2.VideoCapture для чтения видео в корзине s3. Он сказал, что путь не существует. Один из ответов в Stackoverflow гласил, что cv2 поддерживает только локальные файлы, а это означает, что нам нужно загружать видео из корзины s3 в ноутбук, но я не хочу этого делать. Интересно, как вы читаете видео? Спасибо.

enter image description here

Я обнаружил, что одним из решений является использование CloudFront, но будет ли это взиматься и быстро ли это?

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

Вы используете Python в SageMaker, поэтому вы можете использовать:

import boto3

s3_client = boto3.client('s3')
s3_client.download_file('deepfake2020', 'dfdc_train_part_1/foo.mp4', foo.mp4')

Это позволит загрузить файл из Amazon S3 на локальный диск в файле с именем foo.mp4.

.

См .: download_file() в boto3

Для этого требуется, чтобы экземпляру SageMaker были предоставлены разрешения для доступа к корзине Amazon S3.

0 голосов
/ 11 февраля 2020

enter image description here

Это решение также работает.

Для использования AWS SageMaker,

1) go в Центр поддержки, чтобы попросить улучшить лимит экземпляров ноутбука. Они ответят через 1 день нормально.

2) При создании записной книжки измените размер локального диска на 1 ТБ (двойной размер данных).

3) Откройте Jupyter lab и введите cd SageMaker на терминале

4) Используйте CurlWget, чтобы получить ссылку для загрузки набора данных.

5) После загрузки распакуйте данные

unzip dfdc_train_all.zip

unzip '*.zip'

Там вы go.

...