воскресенье, 22 января 2017 г.

Deep learning с использованием языка R и библиотеки mxnet. Предсказания, итераторы и дополнительные возможности


Deep learning с использованием языка R и библиотеки mxnet. Предсказания, итераторы и дополнительные возможности
Красивая версия с картинками доступна по ссылке https://statist-bhfz.github.io/mxnet_usage.html

1. Вступление

Это сообщение является продолжением Deep learning с использованием языка R и библиотеки mxnet. Установка и начало работы. Будет рассмотрено предсказание классов изображений на основе модели, а также работа с итераторами и некоторые другие аспекты.

Полезные ссылки:

End-to-End Deep Learning Tutorial,

https://github.com/dmlc/mxnet/tree/master/docs/tutorials/r,

https://github.com/dmlc/mxnet/tree/master/R-package/vignettes.

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

суббота, 14 января 2017 г.

Deep learning с использованием языка R и библиотеки mxnet. Установка и начало работы

Deep learning с использованием языка R и библиотеки mxnet. Установка и начало работы
  • 1. Вступление
  • 2. Установка CUDA/cuDNN
  • 3. Установка mxnet с интерфейсами для R и Python
  • 4. Подготовка данных
  • 5. Обучение сверточной нейронной сети
Красивая версия с картинками доступна по ссылке https://statist-bhfz.github.io/mxnet_intro.html

1. Вступление

Известно, что библиотеки для глубокого обучения (Deep learning) очень хорошо дружат с языком Python: например, библиотека Keras написана на Python и может использовать в качестве бекенда Theano (тоже на Python) или Tensorflow (C++/Python).
Но пользователи R тоже не обделены возможностью обучать глубокие нейронные сети. Помимо недавно появившего интерфейса для Tensorflow, существует не столь известная, но набирающая популярность библиотека mxnet, написанная на C++ и укомплектованная интерфейсами и для R, и для Python (а также для Julia, Matlab, Scala и Javascript!). Данная библиотека обладает высокой производительностью и умеренным расходом памяти, умеет работать как на CPU, так и на GPU Nvidia, используя CUDA/cuDNN (причем можно обучаться сразу на нескольких видеокартах).
Основным препятствием для ее освоения является очень своеобразно написанная и не всегда поддерживаемая в актуальном состоянии документация: если для Python она более-менее полная и последовательная, то в случае с R все плохо. MXNet R Reference Manual является лишь списком функций и аргументов, подавляющее большинство примеров написаны с использованием Python, так что в R приходится действовать по аналогии и искать ответы в issues на Гитхабе. Это сообщение является попыткой слегка исправить ситуацию и создать руководство по установке и использованию mxnet в R. Возможно, будет и продолжение про более продвинутые темы.