Как загрузить файл в гугл коллаб
Перейти к содержимому

Как загрузить файл в гугл коллаб

  • автор:

Управление файлами в Google Colab

Google Colaboratory — бесплатная среда Jupyter Notebook, которая выполняется на облачных серверах Google и позволяет использовать аппаратное оборудование бэкенда, например GPU and TPU. В результате вы можете работать со всеми возможностями Jupyter Notebook, не устанавливая его на локальной машине.

Colab поставляется (почти) со всеми настройками, позволяющими начать процесс программирования, за исключением датасетов. Как же с помощью Colab получить к ним доступ?

В данной статье мы рассмотрим:

  • как загружать данные в Colab из разных источников;
  • как произвести обратную запись из Colab в эти источники данных;
  • ограничения Google Colab при работе с внешними файлами.

Операции с директориями и файлами в Google Colab

Поскольку Colab позволяет делать все, что угодно, в локально размещенном Jupyter Notebook, то появляется возможность работать с командами оболочки, такими как ls , dir , pwd , cd , cat , echo и т.д., с помощью магической команды для строки ( % ) или bash-команды ( ! ).

Для просмотра структуры директории воспользуйтесь панелью файлового менеджера слева.

Как загружать и скачивать файлы в/из Google Colab

Поскольку блокнот Colab размещается на облачных серверах Google, то по умолчанию отсутствует прямой доступ к файлам на вашем локальном диске (в отличие от расположенного на компьютере блокнота) или в любой другой среде.

Однако Colab предоставляет разные варианты подключения к практически любому источнику данных. Посмотрим, как это происходит.

Обращение к GitHub из Google Colab

Вы можете либо клонировать весь репозиторий GitHub в среду Colab, либо получить доступ к отдельным файлам по их необработанной ссылке.

Клонирование репозитория GitHub

Клонирование репозитория Github в среду Colab происходит по такому же принципу, как и на локальный компьютер, а именно с помощью git clone . По завершении этой процедуры обновите менеджер файлов для просмотра содержимого.

И теперь файлы можно читать точно так же, как и на локальном компьютере.

Скачивание отдельных файлов непосредственно с GitHub

Если для работы нужно лишь несколько файлов, а не весь репозиторий, то можно обойтись без его клонирования в Colab и скачать эти файлы непосредственно с GitHub.

  1. Кликните на файл в репозитории.
  2. Кликните на View Raw.
  3. Скопируйте URL необработанного файла.
  4. Используйте этот URL как местоположение файла.

Обращение к локальной файловой системе через Google Colab

Читать и записывать файлы из/в локальную файловую систему можно с помощью менеджера или кода Python.

Обращение к локальным файлам через менеджер файлов

Загрузка файлов из локальной файловой системы через менеджер

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

Для загрузки файлов напрямую в поддиректорию нужно:

  1. Кликнуть на три точки, появляющиеся при наведении курсора на каталог.
  2. Выбрать опцию Upload.

3. Выбрать файлы для загрузки из диалогового окна File Upload.

4. Подождать завершения загрузки, процесс выполнения которой отображается в нижней части панели менеджера файлов.

По окончании процесса загрузки читать файлы можно привычным для вас способом.

Скачивание файлов в локальную файловую систему через менеджер файлов

Кликните на три точки, появляющиеся при наведении курсора на имя файла и выберите опцию Download.

Обращение к локальной файловой системе посредством кода Python

Для осуществления этого шага предварительно требуется импортировать модуль files из google.colab library :

Загрузка файлов из локальной файловой системы посредством кода Python

Применяем метод загрузки объекта files :

В результате открывается диалоговое окно File Upload:

Выбираем файлы для загрузки и ждем завершения. Ход ее выполнения отображается:

Объект uploaded является словарем, где имена файлов и их содержимое хранятся в виде пар “ключ-значение”:

По окончании загрузки считать его можно точно так же, как и любой другой файл из Colab:

Также есть способ считать его напрямую из директории uploaded , используя библиотеку io :

Убедитесь, что имя файла соответствует тому файлу, который вы хотите скачать.

Скачивание файлов из Colab в локальную систему посредством кода Python

Применение метода download объекта files позволяет скачать любой файл из Colab на локальный диск. Процесс выполнения отображается, и по его завершении можно выбрать на локальном компьютере место для сохранения файла.

Обращение к Google Диску из Google Colab

Рассмотрим пошагово, как с помощью модуля drive из google.colab можно смонтировать весь Google Диск в Colab:

1. Выполняем следующий код с целью получения ссылки для аутентификации:

2. Открываем ссылку.

3. Выбираем аккаунт Google, диск которого нужно смонтировать.

4. Разрешаем Google Drive Stream доступ к вашему аккаунту Google.

5. Копируем отображенный код, вставляем его в текстовое окно, как показано ниже, и нажимаем Enter.

По окончании монтирования получаем сообщение “Mounted at /content/gdrive” (”Смонтировано в/содержимое/gdrive”), после чего можно просматривать содержимое диска из панели менеджера файлов.

Теперь взаимодействовать с Google Диск можно точно так же, как и с каталогом в среде Colab. Любые изменения, связанные с этим каталогом, будут сразу же отображаться на Google Диске, файлы которого вы можете читать как и любые другие.

Кроме того, можно даже напрямую делать запись из Colab на Google Диск, применяя обычные операции с файлами/каталогами.

Эта команда создаст файл на Google Диске, который отобразится на панели менеджера файлов при ее обновлении:

Обращение к Google Таблицам из Google Colab

Для обращения к Google Таблицам:

  1. Прежде всего, необходимо аутентифицировать аккаунт для соединения с Colab. С этой целью выполняем следующий код:

2. В результате получаем ссылку для аутентификации и открываем ее.

3. Выбираем аккаунт Google для соединения.

4. Разрешаем Google Cloud SDK доступ к вашему аккаунту Google.

5. Наконец, копируем отображаемый код, вставляем его в текстовое окно и нажимаем Enter.

Для взаимодействия с Google Таблицами потребуется импортировать предустановленную библиотеку gspread. Чтобы разрешить ей доступ к вашему аккаунту Google воспользуемся методом GoogleCredentials из предустановленной библиотеки oauth2client.client:

После выполнения кода в текущей рабочей директории будет создан файл adc.json с учетными данными, которые нужны gspread для получения доступа к вашему аккаунту Google.

Теперь создавайте или скачивайте Google таблицы напрямую из среды Colab.

Создание/обновление Google таблицы в Colab

  1. Создаем рабочую книгу с помощью метода create объекта gc :

2. Как только она готова, можно ее посмотреть на sheets.google.com.

3. Прежде всего, открываем рабочую книгу для записи в нее значений:

4. Затем выбираем ячейки для заполнения:

5. Таким образом мы создаем список ячеек с индексами (R1C1) и значениями (на данный момент пустыми). Можно изменить отдельные ячейки, обновив их атрибут значения:

6. Для обновления этих ячеек в рабочей таблице применяем метод update_cells :

7. Все изменения отображаются в вашей Google таблице.

Скачивание данных из Google таблицы

1. Открываем рабочую книгу с помощью метода open объекта gc :

2. Затем считываем все строки отдельной рабочей таблицы, задействуя метод get_all_values :

3. Для загрузки этих данных в датафрейм задействуем метод from_record объекта DataFrame :

Обращение к Google Cloud Storage (GCS) из Google Colab

Для работы с GCS необходим проект Google Cloud (GCP). Вы можете создавать и подключаться к корзинам GCS в Colab через предустановленную утилиту командной строки gsutil .

1. Сначала указываем ID проекта:

2. Для доступа к GCS проводим аутентификацию вашего аккаунта Google:

3. Выполнив вышеуказанный код, получаем ссылку для аутентификации и открываем ее.

4. Выбираем аккаунт Google для соединения.

5. Разрешаем доступ Google Cloud SDK к вашему аккаунту Google.

6. Теперь копируем отображаемый код, вставляем его в текстовое окно и нажимаем Enter.

7. Затем настраиваем gsutil для работы с проектом:

8. Вы можете создать корзину с помощью соответствующей команды mb (“make bucket”). У корзин GCP должны быть универсальные уникальные имена, поэтому воспользуемся предустановленной библиотекой uuid для создания такого рода ID:

9. Как только корзина готова, загружаем в нее файл из среды Colab:

По завершении скачивания файл отображается на панели менеджера файлов в Colab в указанном месте.

Обращение к AWS S3 из Google Colab

Для доступа к S3 из Colab потребуется создать аккаунт AWS, настроить IAM, а также сгенерировать ключ доступа и секретный ключ доступа. Необходимо также установить библиотеку awscli в среду Colab:

1. Устанавливаем библиотеку awscli:

2. После установки запускаем настройку AWS командой aws configure :

3. Вводим access_key и secret_access_key в текстовое окно и нажимаем Enter:

Теперь можно скачивать любые файлы из S3:

filepath_on_s3 позволяет указать один файл или подобрать несколько файлов по шаблону.

Вам придет уведомление о завершении скачивания, после чего файлы будут доступны в заданном месте для дальнейшего использования.

Для загрузки файла просто поменяйте местами аргументы источника и назначения:

file_to_upload позволяет указать один файл или подобрать несколько файлов по шаблону.

Вы получите уведомление об окончании загрузки, и загруженные файлы будут доступны в корзине S3 в заданном каталоге: https://s3.console.aws.amazon.com/s3/buckets// /?region=

Обращение к датасетам Kaggle из Google Colab

Для скачивания датасетов из Kaggle требуется наличие аккаунта и API-токена.

  1. Для создания API-токена заходим в My Account, после чего — Create New API Token.
  2. Открываем файл kaggle.json и копируем его содержимое в виде < "username":"########", "key":"################################" >.
  3. Выполняем следующие команды в Colab:

4. После создания файла kaggle.json в Colab и установки библиотеки Kaggle приступаем к поиску датасета с помощью следующей команды:

5. Скачиваем нужный датасет с помощью команды:

Датасет будет загружен и доступен по указанному пути (в данном случае /content/kaggle/ ).

Обращение к базам данных MySQL из Google Colab

1. Для работы с реляционными базами данных необходимо импортировать предустановленную библиотеку sqlalchemy.

2. Вводим данные для подключения и создаем движок:

3. Создаем SQL-запрос и загружаем его результаты в датафрейм с помощью pd.read_sql_query() :

Ограничения Google Colab при работе с файлами

При работе с Colab важно помнить о том, что доступ к загружаемым файл ограничен по времени. Colab — это временная среда, в которой тайм-аут простоя составляет 90 минут, а абсолютный тайм-аут — 12 часов. Это значит, что отключение среды выполнения происходит в случае 90 минутного простоя или 12-ти часового использования. Такое отключение приводит к потери всех переменных, состояний, установленных пакетов и файлов, вследствие чего при повторном подключении вас ждет встреча с абсолютно новой и чистой средой.

Кроме того, дисковое пространство Colab ограничено 108 Гб, только 77 Гб из которых доступны пользователю. Этого объема достаточно для решения большинства задач, но вот при работе с крупными датасетами, например изображениями или видео, данное обстоятельство нельзя упускать из внимания.

Заключение

Google Colab — превосходный инструмент для тех, кто стремится обуздать мощь высокопроизводительных вычислительных ресурсов, таких как GPU, без оглядки на их стоимость.

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

В зависимости от сценария использования или архитектуры данных вы можете запросто применять вышеописанные методы для подключения источника данных напрямую к Colab и приступать к программированию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *