google colabotary что это

Сборка Caffe в Google Colaboratory: бесплатная видеокарта в облаке

Google Colaboratory — это не так давно появившийся облачный сервис, направленный на упрощение исследований в области машинного и глубокого обучения. Используя Colaboratory, можно получить удаленный доступ к машине с подключенной видеокартой, причем совершенно бесплатно, что сильно упрощает жизнь, когда приходится обучать глубокие нейросети. Можно сказать, что она является некоторым аналогом гугл-документов для Jupyter Notebook.

Весь код доступен в моем Colaboratory Notebook.

Коротко о Colaboratory

В Colaboratory можно использовать GPU, а именно Tesla K80. Для этого нужно подключить ее в настройках: RuntimeChange runtime typeHardware accelerator. Стоит заметить, что GPU не всегда доступны, и тогда Colaboratory предложит запустить машину без нее.

Сборка SSD-Caffe

Я хотел попробовать Single Shot Detector (SSD), а именно его Caffe реализацию в Google Colaboratory, но для этого проект нужно было собрать из исходников.

Кстати, если вам подойдёт любая версия Caffe, есть способ намного проще (это даже работает, хотя запускать что-либо я не пробовал):

Сборка SSD-Caffe из исходников — это довольно длинный квест из нескольких шагов, пройти который можно только при помощи костылей.

Шаг 1: установка зависимостей

И это сработало. Осталось только загрузить зависимости:

Шаг 2: нужен другой компилятор

Шаг 3: придётся собрать boost

Если попытаться собрать Caffe на этом этапе, проблемы возникнут при попытке подключить boost, поскольку он собран другим компилятором, так что его исходники придётся скачать и тоже собрать с помощью g++-5 (подробнее на сайте boost):

Шаг 4: настройка Makefile

Клонируем Caffe с GitHub:

И меняем необходимые поля в Makefile.config — я изменил путь к CUDA, поменял опцию BLAS, поменял версию OpenCV на третью, добавил Python layer, а также добавил все пути к библиотекам, которые установлены, но почему-то не нашлись (всё это удобно сделать с помощью Python):

Теперь, собственно, можно собрать Caffe:

Последние две строки добавляют пути библиотек, а именно boost и Caffe.

Теперь Caffe можно использовать (нужно только указать к ней путь в PYTHONPATH):

Чтобы проверить работоспособность, я протестировал проект Mobilenet-SSD: код также есть в моем Colaboratory Notebook.

В частности, я замерял время предсказания для одной картинки, и ускорение на GPU составило примерно 3.8.

Бонус: несколько полезных приёмов

По Google Colaboratory есть отличный туториал на Medium. Также в самой Colaboratory есть файлы с примерами почти всего, что может понадобиться.

Монтировать Гугл-диск в файловую систему виртуальной машины:

Этот код вернёт ссылку и выдаст окно ввода. Нужно перейти по ссылке, скопировать код и ввести его в окно. Мне почему-то приходится делать это два раза. Дальше:

После этого можно использовать свой Гугл-диск как обычный каталог. Кроме того, все изменения в этом каталоге автоматически синхронизируются с Гугл-диском.

Сменить рабочий каталог:

Стереть все изменения и перезапустить машину:

Загрузить файл на локальную машину:

Получить словарь из файлов, загруженных на Гугл-диск:

Приглушить вывод команды терминала (перенаправить в переменную):

В целом, Google Colaboratory предоставляет неплохую возможность производить обучение нейросетей в облаке. Правда, этого может быть недостаточно для совсем больших сеток. Другой плюс — это возможность запускать код независимо от локальной операционной системы (что хорошо для воспроизводимости), а также совместно работать над одним проектом. В качестве подвоха — GPU может быть недоступна, в том числе надолго.

Читайте также:  какой отряд млекопитающих самый многочисленный

Источник

Молчание вентиляторов. Google Colab, Javascript и TensorflowJS

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

С помощью Google Colab вы можете легко обучить свою модель за считанные секунды. Он поддерживает Python (2/3) из коробки, так что всё должно быть хорошо, верно?

Нет! Я хочу JavaScript

И это, на самом деле, не первый раз, когда я предлагаю заниматься обучением глубоких нейронных сетей на JavaScript. Но даже если предположить на секунду, что это не безумная идея, есть одна проблема. В Google Colab нет встроенной поддержки JavaScript. К счастью, я смог «взломать» его. Благодаря исследованиям, проведённым в этом issue и некоторым простым JavaScript сниппетам, мы можем довольно легко скрестить Google Colab c TensorflowJs.

Быстрый старт

Для того чтобы быстро начать, я создал шаблон. Просто откройте эту ссылку и клонируйте шаблон на Google Диск с помощью команды «Save a copy in Drive».

Теперь у вас есть собственная копия Jupyter Notebook на вашем Google Диске. Выполните код из секции «Prep JS runtime for Google Colab», перезагрузите страницу и всё, ваш JavaScript Jupyter Notebook готов к работе!

Как это работает

В шаблоне Jupyter Notebook заранее прописано ядро javascript. Естественно, при первом запуске на машине, которая вам выделена, нет этого ядра. Поэтому при старте вы увидите сообщение: «Unrecognized runtime javascript; defaulting to python».

Выполнив код в секции «Prep JS runtime for Google Colab», мы устанавливаем ijavascript (это не опечатка — это название npm пакета). Это ядро для Jupyter Notebook, которое поддерживает JavaScript. Более подробно вы можете ознакомиться с проектом на их GitHub репозитории — ijavascript.

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

Исправление проблем

Убедитесь, что ядро установилось

Если вы не видите следующую строчку, проверьте форматирование кода:

Google Colab имеет тенденцию добавлять или удалять пробелы, это может всё сломать.

В ядре ijavascript нет простого и понятного способа выполнения команд оболочки

Чтобы это исправить, нужно написать небольшую функцию. Найти её можно в шаблоне.

Так вы можете инициализировать package.json, установить зависимости и запустить несколько команд.

Не используйте let, const

Вы можете использовать её для запуска асинхронного кода:

Лимиты Google Colab

Через некоторое время вашу машину уничтожат (подробнее об этом на сайте Google Colab), и при попытке выполнить любой javascript, вы увидите сообщения об ошибках компиляции кода. Скорее всего, вам выделили новую машину. Чтобы это исправить, просто выполните код из секции «Prep JS runtime for Google Colab» и перезагрузите страницу.

Читайте также:  какой массажер для спины и шеи лучше выбрать роликовый или ударный

Машины без GPU

Обязательно проверяйте, что ваша машина имеет подключенный GPU. К сожалению, иногда Google Colab может выдать машину без GPU. Можете проверить это, выполнив следующий код:

Почему JavaScript

Есть несколько причин, по которым я предпочитаю JavaScript (TensorflowJS) для машинного обучения:

В чём выгода

Почему мы должны страдать и использовать все эти помощники? Почему бы не обучать нейронные сети на своём MacBook/PC? Причина в том, что даже для небольших наборов данных, таких как MNIST и простой модели CNN, вы можете получить повышение производительности в 3—7 раз.

Ну и в конечном счёте можете достичь молчания вентиляторов.

Источник

Техномагия

Любая достаточно развитая технология неотличима от волшебства.

Краткое руководство по работе с Google Colab

Google Colaboratory — это облачный сервис, направленный на упрощение исследований в области машинного и глубокого обучения. Используя Colaboratory, можно получить удаленный доступ к машине с подключенной видеокартой, причем совершенно бесплатно, что сильно упрощает жизнь, когда приходится делать глубокое обучение нейросетей. Можно сказать, что Colab является некоторым аналогом гугл-документов для Jupyter Notebook.

Итак, используя Google Colab вы можете:

Наиболее важной особенностью, которая отличает Colab от других бесплатных облачных сервисов, является то, что Colab предоставляет GPU и это абсолютно бесплатная услуга.

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

Подготовка Google Colab к работе

Создание папки на Google Диске

Мы создали пустую папку «app»

Создание нового ноутбука Colab

Создайте новый ноутбук, щелкнув правой кнопкой мыши > More > Colaboratory

Переименуйте ноутбук, нажав на имя файла.

Настройка работы с бесплатной видеокартой

Необходимо изменить аппаратное обеспечение по умолчанию (CPU на GPU или наоборот) просто выполнив Edit > Notebook settings или Runtime>Change runtime type и выбрав GPU в качестве Hardware accelerator.

Запуск основных кодов Python с Google Colab

Теперь мы можем начать использовать Google Colab.

Мы будем запускать некоторые коды базовых типов данных из Python Numpy Tutorial.

Ну что же, всё работает как положено 🙂 Если вы не знаете Python, который является самым популярным языком программирования для ИИ, то мы бы порекомендовали вам этот простой и понятный учебник.

Сначала запустите эти коды, чтобы установить необходимые библиотеки и выполнить авторизацию.

Когда вы запустите приведенный выше код, вы должны увидеть такой результат:

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

После завершения процесса авторизации вы должны увидеть это:

Теперь вы можете подключиться к Google Диску с помощью:

Загрузите файл mnist_cnn.py в папку app, расположенную на вашем Google Диске.

Запустите приведенный ниже код, чтобы обучить простой конвнет (свёрточную нейронную сеть) на наборе данных MNIST.

Как видно из результатов, каждая эпоха длится всего 11 секунд.

Читайте также:  что делать если голова болит каждый день а таблетки не помогают

Клонирование Github Repo в Google Colab

Легко клонировать репозиторий Github с помощью Git.

Шаг 1: Найти репозиторий Github и получить ссылку «Git»

Найдите любой репозиторий Github для использования.

Clone or download > Copy the link!

2. Git Clone

3. Откройте папку на Google Диске

Конечно, имя папки совпадает с именем репозитория Github 🙂

4. Откройте ноутбук

Щелкните правой кнопкой мыши > Open With > Colaboratory

5. Запустите

Теперь вы можете запустить Github-репо в Google Colab.

Несколько полезных советов

1. Как установить библиотеки?

или попробуйте так:

Любые другие библиотеки

2. Работает ли GPU?

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

3. Какой графический процессор я использую?

4. Как насчет оперативной памяти?

5. А как насчет процессора?

6. Изменение рабочего каталога

Обычно, когда вы запускаете этот код:

Поэтому вы должны добавить drive/app перед определением каждого имени файла.

Чтобы избавиться от этой проблемы, вы можете просто изменить рабочий каталог, например, с помощью этого простого кода:

После отработки кода выше, если вы запустите снова

Вы увидите содержимое папки app, и вам больше не нужно постоянно добавлять drive/app.

7. Устранение ошибки «No backend with GPU available»

Если вы столкнулись с этой ошибкой:

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

8. Как очистить выходы всех ячеек

Tools>>Command Palette>>Clear All Outputs

9. Предупреждение “apt-key output should not be parsed (stdout is not a terminal)”

Если вы столкнулись с этим предупреждением:

Это означает, что аутентификация уже выполнена. Вам нужно только подключить Google Drive:

10. Как использовать Tensorboard с Google Colab?

Мы рекомендуем этот репозиторий:

11. Как перезапустить Google Colab?

Чтобы перезапустить (или перезагрузить) вашу виртуальную машину, просто запустите:

12. Как добавить форму в Google Colab?

Чтобы не изменять гиперпараметры каждый раз в своем коде, вы можете просто добавить форму в Google Colab.

13. Как увидеть аргументы функции?

Чтобы увидеть аргументы функции в TensorFlow, Keras и т.д., просто добавьте знак вопроса (?) после имени функции:

Теперь вы можете просмотреть оригинальную документацию, не переходя на веб-сайт TensorFlow.

14. Как отправить большие файлы из Colab на Google Drive?

15. Как запустить Tensorboard в Google Colab?

Если вы хотите запустить Tensorboard в Google Colab, запустите приведенный ниже код.

Обратите внимание, что ваши журналы Tensorboard будут сохранены в директории tb_logs. Конечно, вы можете изменить имя каталога.

После этого мы можем увидеть Tensorboard в действии! После запуска приведенного ниже кода вы можете отслеживать журналы Tensorboard через URL-адрес ngrok.

Заключение

Мы думаем, что Colab вдохнет новое дыхание в глубокое обучение нейросетей и изучение искусственного интеллекта во всем мире.

Если вы сочли эту статью полезной — поделитесь ссылкой с друзьями, чтобы помочь другим интересующимся найти её! И не стесняйтесь оставлять комментарии.

Источник

Сказочный портал