Для создания кода разработчикам нужны специальные среды. Часть из них устанавливается локально, но некоторые позволяют работать с кодом в онлайн-режиме. Один из таких сервисов — Google Colab. В чём его особенности и как его использовать, обсудим в этой статье.
Что такое Google Colab и каковы его преимущества
Это бесплатная облачная платформа для создания и выполнения кода на Python с возможностью использования мощных центральных и графических процессоров.
Она разработана на базе Google Research и предназначена для образования и научных исследований в области машинного обучения. Несмотря на используемую среду Jupiter Notebook, Colab не нуждается в настройке и полностью функционирует в облаке.
При этом блокноты Colab можно открывать для других пользователей в режиме онлайн, так как все данные содержатся на Google Диске.
По сути, Google Colab — это Google Docs для программирования, но без настройки локальной среды: для работы сервису достаточно браузера и подключения к интернету.
К основным преимуществам программы относятся:
-
Предустановленные библиотеки. В Google Colab уже имеются такие популярные библиотеки машинного обучения, как Keras, PyTorch и TensorFlow. Это помогает пользователям сэкономить время и избежать хлопот при настройке локальной среды.
-
Сохранение в облаке. Каждый созданный в Colab блокнот остаётся в облачном хранилище. Значит, можно получать доступ и обрабатывать данные с любого компьютера.
-
Совместная работа. В Google Colab разработчики не только делятся данными, но и распределяют свои обязанности. Например, редакторы могут менять доступ и делиться им, зрители и комментаторы — просматривать варианты загрузки, печати, копирования и так далее.
-
Бесплатное использование GPU и TPU. Поддержка графических процессоров Google Colab (включая NVIDIA K80s) ускоряет обучение моделей с высокой вычислительной нагрузкой и не зависит от мощности компьютера разработчика.
Кто может использовать Colab
Сервис подойдёт всем, кто обрабатывает данные или взаимодействует с МО-моделями и AI на Python.
-
Исследователи. Colab оснащён мощными графическими и тензорными процессорами для оптимизации процесса машинного обучения. Это особенно полезно для учёных, которые исследуют возможности AI, работают в области биоинформатики и прочих сфер, где нужны высокие вычислительные ресурсы.
-
Программисты. В Colab легко создавать, отлаживать и выполнять новый код. Также в сервисе можно проводить тестирование, визуализацию и проверять различные гипотезы и идеи.
-
Студенты и преподаватели. Colab отлично подходит для обучения языку Python или МО. Начинающие разработчики могут работать с примерами кода, выполнять различные упражнения, а также показывать свои результаты преподавателям и другим студентам.
Где можно применять Colab
Google Colab широко используется в области программирования, анализа данных, машинного обучения и исследований, в том числе для следующих задач:
-
Обучения и экспериментов с моделями машинного обучения
-
Анализа данных и визуализации
-
Разработки и тестирования кода на Python, например, при работе над своими проектами или с API Exolve
-
Работы с AI-проектами
-
Обработки и анализа изображений и видео
-
Разработки и тестирования алгоритмов
-
Научных исследований, где требуются мощные вычислительные ресурсы
-
Совместной работы над одним программным проектом и многого другого
Однако сервис имеет ряд ограничений, которые разработчикам нужно учесть. Например, Colab не может:
-
Составлять backend-код для приложений и применять фреймворки.
-
Создавать полноценные GUI для приложений.
-
Обеспечить прямой доступ к системной консоли.
-
Взаимодействовать с асинхронными и многопоточными операциями.
-
Разрабатывать крупные проекты, требующие сложной декомпозиции на множество файлов.
Как работать с Colab
Google Colaboratory предлагает множество возможностей для работы с кодом на Python, данными и сторонними программами. Вот основные из них:
Создание блокнота
Открыть новый блокнот в Colab можно несколькими способами:
-
Перейти на главную страницу Google Colab. При входе откроется приветственное окно, где нужно выбрать между готовым или новым файлом.
-
Зайти в свой аккаунт Google Диск, нажать «Создать», в появившемся окне выбрать опцию «Ещё», затем перейти в блокнот через Google Colaboratory.
Чтобы открыть существующий документ Colab, нужно кликнуть по нему правой кнопкой мыши, затем на «Открыть с помощью» и Google Collaboratory. При наличии общего доступа к Google Диску можно загружать Colab-файлы других пользователей. -
Открыть Colab прямо с GitHub — для этого понадобится установить специальное Chrome-расширение. Затем перейти в блокнот, который нужно открыть в Github, нажать на вкладку «Расширения» браузера, а затем «Открыть в Colab».
Запуск ячейки
В Colab есть два типа ячеек: для кода и текста. В первые вписываются фрагменты кода на Python, во вторые — текст в формате Markdown, через который можно форматировать заголовки, маркеры, таблицы и так далее.
Запустить ячейку можно несколькими способами:
-
Через комбинацию клавиш Shift + Enter (активация текущей и одновременное создание новой ячейки) или Ctrl + Enter (запуск выбранного фрагмента кода).
-
Через иконку «Воспроизвести» слева от текстовой команды.
-
Через пункт меню «Среда выполнения».
Импорт библиотек и установка зависимостей
Можно использовать такие команды, как !pip install и import, после которых указать название библиотеки или зависимости.
При этом любые установки сохраняются только для текущего сеанса, поэтому после его завершения (в том числе выхода из блокнота) встроенные настройки придётся запускать сначала.
Ещё в Colab можно узнать версию используемой библиотеки — для этого к !pip нужно добавить show. Например, !pip show tensorflow покажет актуальную информацию по TensorFlow.
При необходимости библиотеки можно обновлять и устанавливать их конкретные версии. Например, через команды !pip install --upgrade tensorflow или !pip install tensorflow==1.2.
Загрузка файлов
Чтобы добавить данные с локального устройства, нужно нажать на иконку «Файл» на левой панели Colab и в появившемся окне выбрать опцию «Загрузить в сессионное хранилище». После этого в проводнике ОС необходимо указать путь к нужному файлу. В итоге в файловом менеджере Colab появится новая, готовая к работе запись.
То же самое можно сделать и в обратном порядке. Для переноса файлов на компьютер потребуется щёлкнуть правой кнопкой мыши на браузере файлов Colab и нажать на «Скачать», после чего данные загрузятся. Эту же операцию можно найти в меню «Файл».
Подключение к Google Диску
Сделать это можно двумя способами:
-
Создать и запустить новую ячейку с кодом:
“from google.colab import drive
drive.mount('/content/drive')”
-
Выбрать в левой панели блокнота опцию «Подключить Диск» (упомянутый код появится автоматически).
Далее загрузится окно с возможностью авторизации с Google Drive, где нужно выбрать свой аккаунт и предоставить необходимые разрешения. Если всё прошло успешно, в ячейке с кодом должна появиться надпись Mounted at /content/drive.
Чтобы изменения вступили в силу, выбираем в левой боковой панели опцию «Обновить».
Подключение GPU и TPU
Для интеграции графического и тензорного процессоров Colab нужно выбрать «Сменить среду выполнения» в одноимённом разделе верхней панели блокнота. Далее в появившемся окне щёлкнуть на один из предложенных вариантов — GPU или TPU.
Совместная работа в команде
В Colab, как и в аналогичных сервисах Google Диска, можно открывать доступ к документам для других людей. Для этого в правом верхнем углу блокнота нужно выбрать опцию «Поделиться».
Далее появится диалоговое окно, в которое необходимо ввести email будущего пользователя и выбрать для него уровень разрешения — читатель, комментатор или редактор.
Здесь же можно создать общедоступную ссылку с определёнными настройками доступа — также для просмотра, комментариев или редактирования. Это особенно удобно, когда в коде есть несколько ошибок, и другой разработчик может оперативно указать на них через комментарии.
Управление версиями с помощью GitHub
Google Colab может сохранять и загружать блокноты из репозиториев GitHub — это помогает оптимизировать совместную работу и отслеживать изменения в коде.
Сохранить Colab notebook можно через меню «Файл», выбрав опцию «Создать копию в Github». Если Google Colab пока не подключён к платформе, появится окно с инструкцией, как это сделать: выбрать репозиторий, ветку и путь к файлу для записной книжки.
Для загрузки блокнота из репозитория нужно перейти на сайт Google Colab, в стартовом окне нажать вкладку Github и ввести URL репозитория с блокнотом. Здесь работает поиск — по имени пользователя или названию организации.
Также в Colab можно:
-
Загружать и сохранять данные в Google Таблицы.
-
Пользоваться файлам и ресурсами кодирования с платформ вроде AWS S3 и Azure Blob.
-
Подключать наборы Kaggle.
-
Проверять состояние оперативной памяти, графического процессора или облачного хранилища и т. д.
Если вам нужны дополнительные возможности вроде взаимодействия с внешними сервисами и интеграций с облачными коммуникационными API, воспользуйтесь МТС Exolve. Например, при длительной обработке данных можно настроить бесплатное оповещение о завершении процесса.
Google Colab против Jupyter Notebook
Google Colab основан на базе Jupyter Notebook, и оба сервиса нужны для программирования в блокнотах с текстом, визуализацией и кодом на Python. Но специфика их работы местами отличается, поэтому выбор — Colab или Jupyter — зависит от требований и возможностей разработчика.
Рассмотрим на примере в таблице:
Функция |
Google Colab |
Jupyter Notebook |
Доступность и настройка |
Работает в облаке |
Нужна локальная установка |
Совместная работа |
Работа с членами команды в режиме реального времени |
Совместная работа требует внешних сервисов или плагинов |
Аппаратные ресурсы |
Бесплатный доступ к ресурсам GPU и TPU |
Для вычислений используются локальные аппаратные ресурсы |
Интеграция с облаком |
Бесшовная интеграция с Google Диском |
Ограниченная встроенная интеграция с облачными сервисами |
Управление библиотекой |
Предустановленные библиотеки для машинного обучения |
Нужна ручная установка библиотек |
Инструменты визуализации |
Поддерживает Matplotlib, Seaborn, Plotly и т. д. |
Аналогичная поддержка библиотек визуализации |
Использование в автономном режиме |
Функциональность ограничена |
Полная работоспособность |
Настройка |
Ограниченные возможности |
Высокая степень настройки в зависимости от локальной среды |
Другие аналоги Google Colab
Программировать в Python можно не только на Colab, но и с помощью других облачных платформ. К ним относятся:
-
Noteable
-
Azure Notebooks
-
Databricks
-
Amazon SageMaker Studio Notebook
-
Deepnote
-
IBM Watson Studio
-
Kaggle Kernels
-
Paperspace Gradient и множество других сервисов
Каждый из них имеет свои достоинства и недостатки и заточен под цели и задачи конкретного проекта.
Совет эксперта
«Если вы работаете с машинным обучением и хотите быстро понять, о чём вообще речь, Google Colab — ваш друг. Там есть бесплатные GPU и TPU плюс связка с Google Drive, который позволяет хранить информацию. Это идеальное место для экспериментов и тренировок моделей на крупных данных».
Заключение
Таким образом, Google Colab — практичный сервис, который подходит не только для работы с кодом, что полезно в процессе создания проектов с нашими API, но и с нейросетями, машинным обучением и даже образовательными задачами.
При этом сервис имеет и недостатки. Так, в нём нельзя писать код для крупных проектов, создавать графические интерфейсы и выполнять ряд других действий. Поэтому, если вам нужно тщательно контролировать процесс или работать с большими объёмами информации в режиме реального времени, лучше смотреть в сторону своей машины или других облачных платформ.