Передача данных между Google Диском и Google Cloud Storage с помощью Google Colab

Передача данных между Google Диском и Google Cloud Storage с помощью Google Colab
На чтение
16 мин.
Просмотров
16
Дата обновления
11.11.2024

Филипп Лайс

10 июля 2019 г. · чтение 3 мин.

Изображение для сообщения

Google Colab отлично подходит для небольших экспериментов с Python и машинным обучением. Но доступ к данным может быть сложным, особенно если вам нужны большие данные, такие как изображения, аудио или видео файлы. Самый простой подход — сохранить данные на вашем Google Диске и получить к ним доступ из Colab, но Google Диск имеет тенденцию создавать тайм-ауты, когда у вас есть большое количество файлов в одной папке.

Более надежным и масштабируемым является Облачное хранилище Google, где вам также будет проще делиться данными с коллегами. Но, к сожалению, нет собственного способа переноса данных с Google Диска в Google Cloud Storage без необходимости загружать и загружать их снова. Однако с помощью Google Colab мы можем передавать файлы довольно легко.

Монтирование Google Диска в Colab

Подключить собственный Google Диск довольно просто. Просто импортируйте инструменты привода и запустите команду mount. Вам будет предложено пройти аутентификацию с помощью токена, который вы создаете с помощью Google Auth API. После того, как вы вставили токен, ваш диск будет подключен к указанному пути.

 from google.colab import drive 
drive.mount ('/content/drive')

Image for post

Настройка сегмента Google Cloud Storage

Далее нам нужно создать проект Google Cloud Storage. Перейдите в диспетчер ресурсов и создайте новый проект.

 Изображение для сообщения

 Изображение для сообщения

Изображение для сообщения

Подключение к сегменту GCS

После настройки корзины вы можете подключить Colab к GCS с помощью Google Auth API и gsutil. Сначала вам нужно аутентифицировать себя так же, как вы это делали для Google Диска, затем вам нужно установить идентификатор проекта, прежде чем вы сможете получить доступ к своей корзине (-ам). Идентификатор проекта отображается в диспетчере ресурсов или URL-адресе, когда вы управляете своими сегментами.

 from google.colab import auth 
auth.authenticate_user () project_id = 'nifty-depth- 246308 '
! Gcloud config set project {project_id}
! Gsutil ls


Это подключится к вашему проекту и выведет список всех сегментов. Затем вы можете скопировать данные из или в GCS с помощью команды gsutil cp . Обратите внимание, что содержимое вашего Google Диска находится не в папке /content/drive напрямую, а в подпапке Мой диск . Если вы копируете более нескольких файлов, используйте параметр -m для gsutil, так как он включит многопоточность и значительно ускорит процесс копирования.

  bucket_name = 'medium_demo_bucket_190710'! gsutil -m cp -r/content/drive/My  Drive/Data/* gs://{bucket_name}/

Вот и все. Теперь процесс запущен, и вы можете время от времени проверять, завершен ли он. Я создал записную книжку Colab с примером кода, приведенным здесь: https://colab.research.google.com/drive/1Xc8E8mKC4MBvQ6Sw6akd_X5Z1cmHSNca

Дополнительную информацию можно найти в документации Colab здесь и в документации gsutil здесь.

Для будущих проектов просто аутентифицируйте записную книжку Colab и перенесите файлы из корзины в локальную файловую систему. Затем вы можете запускать все эксперименты на локальной копии.

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий