Создайте экземпляр виртуальной машины Deep Learning в Google Cloud Platform, установите и настройте Jupyter Notebook и набор инструментов Nvidia CUDA.
Google Cloud Platform предоставляет нам множество ресурсов для поддержки проектов в области науки о данных, глубокого обучения и искусственного интеллекта. Теперь нам нужно заботиться только о том, как проектировать и обучать модели, а платформа управляет остальными задачами.
В нынешней пандемической среде весь процесс проекта ИИ от разработки, кодирования до развертывания может выполняться удаленно на облачной платформе.
Я продемонстрирую, как использовать Google Cloud Platform с графическим процессором для создания среды глубокого обучения, выполнив четыре следующих шага:
- Создайте экземпляр виртуальной машины с графическим процессором
- Настроить сеть
- Установить ноутбук Juypter
- Установите Nvidia CUDA
Шаг 1. Создание и запуск экземпляра виртуальной машины
Увеличить квоту графических процессоров
ВАЖНО: если вы получаете следующее уведомление при создании виртуальной машины, содержащей графические процессоры. Вам необходимо увеличить квоту графического процессора.

В верхнем левом меню выберите IAM и администратор - ›Квоты.
В таблице фильтров выберите Имя лимита и Графические процессоры (все регионы).

В нем будет указана информация о квотах ваших графических процессоров. Нажмите ВСЕ КВОТЫ на странице Подробная информация о квотах.
Установите флажок Глобальный и нажмите ИЗМЕНИТЬ КВОТЫ.
Введите необходимое количество квот графического процессора в поле Новый лимит, здесь я ввел 2. Наконец, нажмите ОТПРАВИТЬ ЗАПРОС.

Обработка запросов на увеличение квоты обычно занимает два рабочих дня. Google обновит информацию о прогрессе по электронной почте.
Создать экземпляр ВМ
- В Консоли Google Cloud Platform перейдите на страницу Домашняя страница - ›Computer Engine -› Экземпляры виртуальных машин.
- Выберите свой проект и нажмите Продолжить.
- Нажмите кнопку Создать.
- Укажите Имя для своего экземпляра.
- Измените Регион и Зону для этого экземпляра. Я выбираю
us-west1(oregon)иus-west1-b. Выберите конфигурацию машины для вашего экземпляра. В разделе Серии мы выбираемN1типов машин, которые работают наIntel Skylake CPUплатформе. Существует еще одинN2тип машины, и хотя он использует более высокую производительностьIntel Cascade Lake CPUpalreform,N2сейчас не поддерживает графические процессоры, поэтому мы решили использоватьN1. В разделе Тип машины выбираемn2-standard-8(8vCPU, 32GB memory). - Разверните платформу ЦП и графический процессор в нижней части конфигурации компьютера и добавьте графический процессор для своей виртуальной машины. Нажмите Добавить графический процессор, выберите Тип графического процессора и Количество графических процессоров. Для демонстрации здесь я выбрал 2 модели NVIDIA Tesla K80.
ВАЖНО: Если вы получаете сообщение об ошибкеQuota 'GPUS_ALL_REGIONS' exceed. Limit: 0.0 globallyпри создании виртуальной машины, вам необходимо запросить увеличение квоты для ваших графических процессоров. См. Предыдущий раздел Увеличение квоты на графические процессоры. - В разделе Загрузочный диск нажмите Изменить, чтобы настроить загрузочный диск.
Для проекта глубокого обучения я выбираюDeep Learning on Linuxв разделе Операционная система.
В разделе Версия мы выбралиGPU Optimized Debian m32 (with CUDA 10.0), который представляет собой образ на основе Debian 9 с CUDA / CuDNN / NCCL предустановлен.
В разделе Размер нам нужно выбрать не менее300GB. - В разделе Области доступа мы проверяем
Allow full access to all Cloud APIs, потому что нам нужен доступ к Google Bucket и другим облачным API. В разделе Брандмауэр мы проверяем иAllow HTTP traffic, иAll HTTPS traffic, чтобы получить доступ к Jupyter Notebook из внешней сети. - Нажмите
Management,security,disks,networking,sole tenancyи выберите вкладку Диски. В правиле удаления снимите флажокDelete boot disk when instance is deleted. Если вы случайно удалите экземпляр виртуальной машины, он не удалит загрузочный диск. - Другие разделы могут использовать значение по умолчанию.
- Нажмите СОЗДАТЬ, подождите несколько минут, и ваша ВМ станет доступной.







ШАГ 2. Настройка сети
Чтобы иметь возможность получить доступ к Jupyter Note из внешней сети, вам необходимо настроить статический IP-адрес и правило брандмауэра на вашей новой виртуальной машине.
Внешние IP-адреса
- Перейдите в меню навигации - ›СЕТЬ -› Сеть VPC - ›Внешние IP-адреса.
- Измените Тип внешнего адреса ВМ с Эфемерного на Статический и добавьте Имя для нового статического IP-адреса .

Межсетевой экран
- Перейдите в Сеть VPC - ›Брандмауэр, нажмите СОЗДАТЬ Брандмауэр, чтобы создать правило брандмауэра для своего Jupyte Note.
- На странице Создание правила брандмауэра введите Имя правила, измените Цели на
All instances in the network. - В поле Диапазоны исходных IP-адресов введите
0.0.0.0/0. - В разделе Протоколы и порты установите флажок
Specified protocols and portsи установите для порта tcp значение5000или другой номер порта. - Оставьте другие значения по умолчанию и нажмите СОЗДАТЬ.


ШАГ 3: Установите Jupyter Notebook
Вернитесь на страницу экземпляров ВМ и активируйте Cloud Shell в правом верхнем углу.
Установите Jupyter Notebook с помощью pip
pip install jupyter
Если вы получили сообщение об ошибке permission denied, используйте команду ниже.
pip install jupyter --user
Создайте файл конфигурации:
$ jupyter notebook --generate-config
Перейдите в каталог установки Jupyter
$ cd ~/.jupyter/ $ vim jupyter_notebook_config.py
Откройте jupyter_notebook_config.py и добавьте следующее в конец файла. Убедитесь, что вы заменили номер порта на тот, к которому вы разрешили доступ брандмауэру выше.
c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 5000

Запуск Jupyter Notebook с помощью следующей команды в SSH-окне виртуальной машины:
$ jupyter notebook
Как показано ниже, ваш Jupyter Notebook уже запущен.

Откройте браузер и введите следующий адрес:
https://<External Static IP Addrsss>:<Port NUmber>
Иногда вам нужно ввести токен, скопируйте токен, указанный в командной строке, как показано выше.
После того, как все настроено, ваш Jupyter Notebook будет выглядеть так.

ШАГ 4: Установите NVIDIA CUDA
Если вы используете Deep Learning On Linux общедоступные изображения, как я, то в облаке Google будут предварительно установлены PyTorch, Tensorflow, CUDA и т. Д.
Иногда, чтобы избежать неизвестных ошибок, я рекомендую вам вручную установить CUDA.
Скачать CUDA
Tensorflow и PyTorch поддерживают только CUDA 10, нам нужно скачать CUDA Toolkit 10.1.
Выберите правильную целевую платформу на основе информации о вашей машине.
ВАЖНО: в разделе Тип установщика мы выбираем runfile(local).

Скопируйте команду установки.
ВАЖНО: Чтобы избежать ошибок графического интерфейса, мы должны добавить параметр --no-opengl-libs, чтобы предотвратить установку библиотек openGL.
Выполните команду ниже.
sudo sh cuda_10.1.105_418.39_linux.run --no-opengl-libs
Поздравляем, у вас есть простая среда для глубокого обучения. Пришло время обучить вашу модель.
Если вы хотите узнать, как использовать Goolge Cloud и TPU, прочтите эту статью.

Будьте осторожны и оставайтесь здоровыми и безопасными.