FastAI + Pytorch + Colaboratory vs Paperspace = Программирование глубоких нейронных сетей на Python

Paperspace

Повторяем, для тех, кто не не читал нашу статью Keras + TensorFlow +Colaboratory = Программирование глубоких нейронных сетей на Python,  что для машинного обучения нашего робота игре в хоккей, нам необходимо научить его распознавать хоккейную шайбу, ворота противника, игроков своих и чужих, разметку и пределы поля, определять расстояние до этих объектов, свое местоположение, и, на основании этой информации, принимать решения по выбору направления перемещения по хоккейному полю и манипуляций хоккейной шайбой с помощью хоккейной клюшки.
Pешать выше приведенные задачи мы будем с помощью нейронных сетей. Для моделирования и обучения нейронных сетей нам потребуется модный компьютер, то есть крутой i7 c мощной графической видеокартой от NVIDIA с поддержкой CUDA. Но можно и без модного компьютера обойтись. Мы будем использовать вычислительные мощности уже не Google, а платный (но для исследователей предлагается промо код 10 долларов для бесплатного использования) облачный сервис для исследователей ИИ, а именно Paperspace, инструмент, позволяющий запускать ноутбуки в облаке Paperspace.
Сервис Paperspace  предоставляет по минимуму (плати как сможешь) для исследователей следующие ресурсы:
Доступ к виртуальному компьютеру VM Access (рабочий стол, терминал, SSH);
Публичные шаблоны (машинное обучение, H2O, Fast.ai);
Типы виртуальных процессоров GPU и CPU
Стандартный доступ к GPU;
10 Графиков работы GPU (1 одновременно);
10 Ноутбуков. Ограничение (1 одновременно).
Кроме вычислительных мощностей Paperspace или Colaboratory от Google, для ускорения нашей работы, мы будем использовать уже готовые пакеты программ для создания глубоких нейронных сетей, такие библиотеки как FastAI и  Pytorch для языка Python.
Запускаем Paperspace, и попадаем на страницу регистрации, где успешно регистрируемся;
Исходя из того что сервис Paperspace изменил свои требования, при созданию виртуальных ноутбуков необходимо указывать реквизиты дебетовой карточки для оплаты сервиса, типа в будущем. Поэтому, мы будем использовать сервис Colaboratory от Google. Читаем нашу статью: Keras + TensorFlow +Colaboratory = Программирование глубоких нейронных сетей на Python.

Colaboratory

Заводим почту на Google, у кого она уже есть, то есть и учетная запись Google, которая необходима для работы в Colaboratory. Запускаем Colaboratory, и видим окно где будут отображаться наши действия и виртуальные ноутбуки, нажимаем справа внизу окна NEW PYTHON 3 NOTEBOOK:

Видим одинокую строчку интерпретатора (5 - cell - ячейка) языка Python, которая по мере заполнения превратится в окно:

 

Где:

 1 - кнопка для открытия меню ноутбука Colaboratory помогающее Вам шагать по вашей программе использую Ваши текстовые комментарии, вставлят уже готовые фрагменты кода в вашу программу и видеть Ваши рабочие папки и файлы, которые, к сожалению, если вы о них не позаботитесь и не сохраните на своем диске или Google диске, сервисом Google Colaboratory зачищается через 12 часов Вашей работы и быстрее если ваш компьютер простаивал;

 2 - кнопка добавления ячеек командных строк - 5;

 3 - кнопка запуска остановки программы или команды (клавиша работает как перевод строки;

 4 - кнопка вызова текстовых полей комментариев со строчным редактором текста;

 5 - ячейка для ввода команд на языке Python и команд Linux, для отличия последних вводим перед командой восклицательный знак (например !ls / );

 6 - поле изменения имени ноутбука, активируется однократным щелчком мыши;
 
 7 - кнопки перемещения выделенных ячеек вверх/вниз.
Строка ноутбука Colaboratory это строка виртуального терминала операционной системы Linux (версия Ubuntu) поэтому мы можем прямо в строке (ячейке) выполнять команды Linux только в ноутбуке Colaboratory перед командой необходимо указывать восклицательный знак.

Fast AI + Pytorch

Библиотека Fast.ai это, как и Keras, программная надстройка верхнего уровня над пакетом Pytorch для языка Python. Все эти конструкции задуманы для облегчения, в том числе и нам с Вами создавать программно (пока не в железе) классные модели глубоких нейронных сетей).  Библиотека Fast.ai использует все лучшие методы и подходы, которые разработчики могут найти - каждый раз, когда выходит новая версия, они проверяют ее, и если она хорошо работает для множества наборов данных, и они могут понять, как ее настроить, она получает реализацию  в библиотеке Fast.ai.
Разработку библиотеки Fast.ai профинансировал Facebook, будем надеяться на дальнейшее её развитие.  Библиотека TensorFlow от Google более известна чем PyTorch, но большинство ведущих исследователей нейронных сетей  в настоящее время переходят на PyTorch.
Fast.ai является гибким инструментарием программиста - исследователя, в любой момент Вы можете легко подключиться и создать собственные измененные входные данные, функцию потерь, сетевую архитектуру и много другое.
Устанавливаем пакет Fast AI используя менеджер установки пакетов pip3 :

!pip3 install fastai

Устанавливаем библиотеку OpenCV используя менеджер установки пакетов pip :

!pip install opencv-python

Обновляем или устанавливаем необходимые библиотеки :

!apt update && apt install -y libsm6 libxext6

Устанавливаем пакет Pytorch для 3-ей версии языка Python используя менеджер установки пакетов pip3 :

!pip3 install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl

 

Устанавливаем пакет torchvision для 3-ей версии языка Python используя менеджер установки пакетов pip3 :

!pip3 install torchvision

 

Можем установить все выше установленное сразу пакетом при отключении или заведении нового ноутбука Colaboratory:

!pip install fastai

!pip install opencv-python

!apt update && apt install -y libsm6 libxext6

!pip3 install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl

!pip3 install torchvision

Набираем команду отображения директорий (папок и файлов) ls или !ls , и наблюдаем присутствие новых папок и файлов, их также можно обнаружить через меню ноутбука Colaboratory: крайняя левая стрелка -> Files:

Пока смотрим кино про Fast AI от Алексея Сотова:

Видео лекции с субтитрами на русском языке "Глубокое обучение 2018" от Jeremy Howard, перевод субтитров Екатерина Колодезева . . .
torchvision.models - подпакет моделей нейронных сетей: VGG, RESNET, SqueezeNet, DenseNet, Inception v3 . . .

Понимание и реализация архитектур ResNet и ResNeXt для самой современной классификации изображений: от Microsoft до Facebook . . .

Ссылка на форум Fast AI . . .

Matplotlib представляет собой библиотеку 2D-графики Python . . .

Pillow - библиотека изображений Python от Fredrik Lundh и Contributors . . .

Первый и второй уроки по Fast AI для русскоязычной аудитории . . .

CUDA . . .

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

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

девятнадцать + девять =

© 2018 Журнал научно-технического творчества педагогов и школьников "Главный конструктор"